Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

public methods for problem variables

Functions

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

Public SCIP_BDCHGIDX Methods

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

Public SCIP_BDCHGINFO Methods

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

Public SCIP_BOUNDCHG Methods

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

Public SCIP_DOMCHG Methods

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

Public SCIP_HOLELIST Methods

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

Function Documentation

◆ SCIPvarGetNLocksDown()

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

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

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

◆ SCIPvarGetNLocksUp()

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

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

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

◆ SCIPvarGetNLocksUpType()

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

References SCIP_Var::aggregate, SCIP_Var::data, 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 applyAlternativeBoundsBranching(), applyAlternativeBoundsFixing(), applyProbing(), calcBdchgScore(), checkCands(), checkConsQuadraticProblem(), checkLocksAndRes(), chooseCoefVar(), chooseVeclenVar(), collectCliqueData(), compensateVarLock(), consdataFindUnlockedLinearVar(), createCoveringProblem(), dualPresolve(), dualPresolving(), extractGates(), findAggregation(), findComponents(), fixIntegerVariableUb(), getScore(), getScoreLikeCoefdiving(), hasQuadvarHpProperty(), isConsIndependently(), multiAggregateBinvar(), performDualfix(), presolRoundIndicator(), presolveConsLct(), presolveDual(), propagateCons(), propIndicator(), removeDoubleAndSingletonsAndPerformDualpresolve(), roundFixingValue(), SCIP_DECL_CONSINITSOL(), 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()

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

References SCIP_Var::aggregate, SCIP_Var::data, 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(), applyAlternativeBoundsBranching(), applyAlternativeBoundsFixing(), applyProbing(), calcBdchgScore(), checkCands(), checkConsQuadraticProblem(), checkLocksAndRes(), chooseCoefVar(), chooseVeclenVar(), collectCliqueData(), compensateVarLock(), consdataFindUnlockedLinearVar(), createCoveringProblem(), dualPresolve(), dualPresolving(), extractGates(), findAggregation(), findComponents(), fixIntegerVariableLb(), getScore(), getScoreLikeCoefdiving(), hasQuadvarHpProperty(), isConsIndependently(), multiAggregateBinvar(), performDualfix(), presolRoundIndicator(), presolveConsEst(), presolveDual(), propagateCons(), propIndicator(), removeDoubleAndSingletonsAndPerformDualpresolve(), roundFixingValue(), SCIP_DECL_CONSINITSOL(), 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()

◆ SCIPvarMayRoundUp()

◆ SCIPvarCompareActiveAndNegated()

SCIP_EXPORT 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 11670 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_EXPORT 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 11700 of file var.c.

References SCIPvarCompare(), and SCIPvarCompareActiveAndNegated().

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

◆ SCIPvarCompare()

SCIP_EXPORT int SCIPvarCompare ( SCIP_VAR var1,
SCIP_VAR var2 
)

◆ SCIP_DECL_SORTPTRCOMP() [2/3]

SCIP_EXPORT SCIP_DECL_SORTPTRCOMP ( SCIPvarComp  )

comparison method for sorting variables by non-decreasing index

Definition at line 11728 of file var.c.

References SCIP_DECL_SORTPTRCOMP(), and SCIPvarCompare().

◆ SCIP_DECL_SORTPTRCOMP() [3/3]

SCIP_EXPORT SCIP_DECL_SORTPTRCOMP ( SCIPvarCompObj  )

comparison method for sorting variables by non-decreasing objective coefficient

Definition at line 11734 of file var.c.

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

◆ SCIP_DECL_HASHGETKEY()

SCIP_EXPORT SCIP_DECL_HASHGETKEY ( SCIPvarGetHashkey  )

hash key retrieval function for variables

Definition at line 11751 of file var.c.

References SCIP_DECL_HASHKEYEQ().

Referenced by SCIP_DECL_SORTPTRCOMP(), and SCIPvarWasFixedEarlier().

◆ SCIP_DECL_HASHKEYEQ()

SCIP_EXPORT SCIP_DECL_HASHKEYEQ ( SCIPvarIsHashkeyEq  )

returns TRUE iff the indices of both variables are equal

Definition at line 11757 of file var.c.

References FALSE, SCIP_DECL_HASHKEYVAL(), and TRUE.

Referenced by SCIP_DECL_HASHGETKEY().

◆ SCIP_DECL_HASHKEYVAL()

SCIP_EXPORT SCIP_DECL_HASHKEYVAL ( SCIPvarGetHashkeyVal  )

returns the hash value of the key

Definition at line 11765 of file var.c.

References SCIPvarGetIndex(), and SCIPvarsGetActiveVars().

Referenced by SCIP_DECL_HASHKEYEQ().

◆ SCIPvarsGetProbvar()

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

References NULL, and SCIPvarGetProbvar().

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

◆ SCIPvarGetProbvar()

◆ SCIPvarsGetProbvarBinary()

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

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

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

◆ SCIPvarGetProbvarBinary()

SCIP_EXPORT 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 12076 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_EXPORT 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 12328 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_EXPORT 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 12540 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(), SCIPreoptAddDualBndchg(), SCIPsolGetVal(), SCIPtransformDecompstore(), SCIPvarGetProbvarSum(), solveSubNLP(), storeCuts(), and transformIntoOrig().

◆ SCIPvarIsTransformedOrigvar()

SCIP_EXPORT 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 12627 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_EXPORT SCIP_Real SCIPvarGetAvgBranchdepthCurrentRun ( SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

◆ SCIPvarHasImplic()

SCIP_EXPORT 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 10915 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_EXPORT 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 10935 of file var.c.

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

Referenced by SCIPvarHasImplic().

◆ SCIPvarsHaveCommonClique()

SCIP_EXPORT 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 11244 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(), findFixings(), getMinactImplicObjchg(), GUBsetCalcCliquePartition(), liftCliqueVariables(), removeConstraintsDueToNegCliques(), SCIPhaveVarsCommonClique(), and SCIPvarDelClique().

◆ SCIPvarGetAggregatedObj()

SCIP_EXPORT 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 17532 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_EXPORT 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 17099 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(), and SCIPvarSetCopyData().

◆ SCIPvarSetRemovable()

SCIP_EXPORT 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 17115 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(), and SCIPvarSetInitial().

◆ SCIPvarGetName()

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

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

Referenced by addAltLPColumn(), addBilinearTermToCut(), addBoundViolated(), addCand(), addCliques(), addCoef(), addConcaveEstimatorBivariate(), addConcaveEstimatorMultivariate(), addConflictBinvar(), addConflictBounds(), addConstraintToBendersSubproblem(), addFixedVarsConss(), addGenVBound(), addIntervalGradientEstimator(), addLinearization(), addLinearTermToCut(), addNode(), addScenarioVarsToProb(), addSplitcons(), addVarbound(), addVarCardinality(), adjustOversizedJobBounds(), aggregateVariables(), aggregation(), alnsFixMoreVariables(), alnsUnfixVariables(), analyseInfeasibelCoreInsertion(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), analyzeZeroResultant(), appendVarCardinality(), applyAlternativeBoundsBranching(), applyBdchgs(), applyBoundHeur(), applyCliqueFixings(), applyFixings(), applyFixingsAndAggregations(), applyGenVBound(), applyOptcumulativeFixings(), applyProbing(), applyRepair(), applyVboundsFixings(), applyZeroFixings(), boundchgApplyGlobal(), branch(), branchcandCalcLPCands(), branchcandInsertPseudoCand(), branchcandRemovePseudoCand(), branchUnbalancedCardinality(), calcBranchScore(), calcShiftVal(), cancelCol(), candidateCreate(), candidateFreeWarmStartInfo(), changeAncestorBranchings(), checkCons(), checkCumulativeCondition(), checkFactorable(), checkFixedVariables(), checkForOverlapping(), checkPackingPartitioningOrbitopeSolution(), checkSolOrig(), checkSolution(), checkSystemGF2(), checkVarbound(), checkVarnames(), cliqueCleanup(), cliquePresolve(), colAddCoef(), collectActivities(), collectBinaryCliqueData(), collectBranchingCands(), collectMinactVar(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), collectSolActivities(), collectSolution(), collectThetaSubtree(), colLink(), colUnlink(), compensateVarLock(), computeCut(), computeEnergyContribution(), computeGauge(), computeImpliedEst(), computeImpliedLct(), computeInteriorPoint(), computeReferencePointGauge(), computeReferencePointProjection(), computeStandardLPFeasibilityCut(), computeSymmetryGroup(), conflictAddBound(), conflictAddConflictBound(), conflictAddConflictCons(), conflictAnalyze(), conflictAnalyzeRemainingBdchgs(), conflictCreateReconvergenceConss(), conflictFirstCand(), conflictMarkBoundCheckPresence(), conflictResolveBound(), conflictsetAddBounds(), conflictsetIsRedundant(), consdataCheckSuperindicator(), consdataCollectLinkingCons(), consdataCreate(), consdataCreateBinvars(), consdataDeletePos(), consdataFindUnlockedLinearVar(), consdataFixOperandsOne(), consdataFixResultantZero(), consdataPrint(), constraintNonOverlappingGraph(), constructCompression(), constructSNFRelaxation(), coretimesUpdateLb(), coretimesUpdateUb(), countSparseSol(), createAndAddAndCons(), createAuxiliaryNonlinearSubproblem(), createBinaryConstraintName(), createConsFromMonomial(), createConstraints(), createCoreProfile(), createCoveringProblem(), createKKTComplementarityBinary(), createKKTComplementarityBounds(), createKKTDualCons(), createMIP(), createNAryBranch(), createSelectedSortedEventpointsSol(), createSubproblem(), createSubproblems(), createSubSCIP(), createTcliqueGraph(), createVariableMappings(), detectDominatingVlbs(), detectDominatingVubs(), detectImplications(), detectImpliedBounds(), detectVarboundSOS1(), determineBound(), determineBoundForSNF(), determineVariableFixings(), dfs(), disaggregate(), doSeachEcAggr(), dryBranch(), dualPresolve(), dualPresolving(), ecaggrAddBilinTerm(), enforceCardinality(), enforceConssSOS1(), enforceConstraint(), enforceSOS2(), enforceViolatedFixedNonlinear(), evaluateGauge(), execRelpscost(), executeBranchingRecursive(), extractCycle(), filterCandidates(), filterCands(), filterExistingLP(), findAggregation(), findAndStoreEcAggregations(), findCumulativeConss(), findScenarioVar(), findUncapacitatedArcs(), fixAlmostFixedX(), fixAndPropagate(), fixBounds(), fixDeleteOrUpgradeCons(), fixIntegerVariableLb(), fixIntegerVariableUb(), fixInterdiction(), fixVariable(), fixVariableZeroNode(), generate1ConvexIndefiniteUnderestimator(), generate1ConvexIndefiniteUnderestimatorAtBoundary(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateAndApplyBendersCuts(), generateConvexConcaveUnderestimator(), generateCut(), generateCutNonConvex(), generateEstimatingHyperplane(), generateOrthogonal_lx_ly_Underestimator(), generateOrthogonal_lx_uy_Underestimator(), generateSecantCut(), generateUnderestimatorParallelYFacets(), getConflictImplics(), getFixedVariable(), getFSBResult(), getGenVBound(), getMaxactImplicObjchg(), getScenarioDecompVar(), GUBsetMoveVar(), handle1Cycle(), handleNewVariableSOS1(), inferboundsEdgeFinding(), infinityCountUpdate(), initData(), level2resultCreateFromData(), liftCliqueVariables(), lpFlushAddCols(), lpFlushAddRows(), lpRemoveObsoleteCols(), maximalslack(), mcfnetworkFill(), mergeAndCleanQuadVarTerms(), mergeMultiples(), multiAggregateBinvar(), nlpCalcFracVars(), nlpFlushVarAdditions(), nlrowAddLinearCoef(), nlrowAddQuadElement(), nlrowaggrFree(), nlrowRemoveFixedQuadVars(), nodepairqueueCreate(), polyscip::Polyscip::numberofUnboundedResults(), objimplicsCreate(), optimize(), performAggregations(), performBranching(), performDualfix(), performFixing(), performImplicationGraphAnalysis(), performOrbitalFixing(), performRandRounding(), performSimpleRounding(), performStrongbranchWithPropagation(), polishSolution(), predBndStr(), preprocessConstraintPairs(), presolRoundCardinality(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), presolRoundVarsSOS1(), presolveAddKKTAggregatedVars(), presolveConsEst(), presolveConsLct(), presolveCreateGlineurApproxDim3(), presolveDisaggregate(), presolveDual(), presolveFindDuplicates(), presolvePropagateCons(), presolveRemoveFixedVariables(), presolveSolve(), presolveTryAddAND(), presolveTryAddLinearReform(), printActiveVariables(), printAggregatedCons(), printBoundSection(), printColumnSection(), printIndicatorCons(), printLinearCons(), printLinearRow(), printNLRow(), printPBRow(), printRow(), printRowNl(), printSOCCons(), printSosCons(), processBinvarFixings(), processFixings(), processNlRow(), processRealBoundChg(), processWatchedVars(), proofsetFree(), propagateBinaryBestRootRedcost(), propagateBounds(), propagateBoundsBilinearTerm(), propagateBoundsQuadVar(), propagateBoundsTightenVar(), propagateBoundsTightenVarLb(), propagateBoundsTightenVarUb(), propagateCons(), propagateCutoffboundVar(), propagateLbTTEF(), propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), propagateTimetable(), propagateUbTTEF(), propagateVarbounds(), propagateVbounds(), propCardinality(), propConsSOS1(), propIndicator(), proposeFeasibleSolution(), propSOS2(), readBinaries(), readBounds(), readCoefficients(), readCols(), readerdataAddOutputvar(), readGenerals(), readObjective(), readPolynomial(), readQCMatrix(), readQMatrix(), readSemicontinuous(), readSolFile(), readSOS(), readSos(), readVariables(), readXmlSolFile(), registerBranchingCandidates(), registerBranchingCandidatesCentrality(), registerBranchingCandidatesGap(), registerBranchingCandidatesViolation(), registerBranchingVariables(), relaxVar(), removeConstraintsDueToNegCliques(), removeDoubleAndSingletonsAndPerformDualpresolve(), removeFixedLinearVariables(), removeFixedNonlinearVariables(), removeFixedVariables(), removeIrrelevantJobs(), removeRedundantNonZeros(), replaceByLinearConstraints(), replaceViolatedByLinearConstraints(), resetVarname(), resolveGenVBoundPropagation(), resolvePropagation(), resolvePropagationCoretimes(), respropCumulativeCondition(), rowAddCoef(), rowFindSlackVar(), rowprepCleanupImproveCoefrange(), rowprepCleanupIntegralCoefs(), runVanillaStrongBranching(), 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_CONSINITLP(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSINITSOL(), 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_EXPRGRAPHVARADDED(), SCIP_DECL_EXPRGRAPHVARREMOVE(), SCIP_DECL_HASHGETKEY(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_READERWRITE(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SEPAEXECLP(), SCIPaddBilinearIneqQuadratic(), SCIPaddCoefLinear(), 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(), SCIPcomputeConvexEnvelopeFacet(), SCIPconflictAddRelaxedBound(), SCIPconflictAnalyzeStrongbranch(), SCIPconflictIsVarUsed(), SCIPcopyImplicationsCliques(), SCIPcreateConsAnd(), SCIPcreateConsCardinality(), SCIPcreateConsLinking(), SCIPcreateFiniteSolCopy(), SCIPcreateNlpiProb(), SCIPdropVarEvent(), SCIPendStrongbranch(), SCIPeventqueueAdd(), SCIPexprtreePrintWithNames(), 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(), SCIPparseVarsList(), SCIPperformGenericDivingAlgorithm(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreAddProbVars(), SCIPpricestoreAddVar(), SCIPpricestoreApplyVars(), SCIPprimalTransformSol(), SCIPprintBranchingStatistics(), SCIPprintNodeRootPath(), SCIPprintRowprep(), SCIPprobAddVar(), SCIPprobDelVar(), SCIPprobFree(), SCIPprobPerformVarDeletions(), SCIPprobPrintPseudoSol(), SCIPprobScaleObj(), SCIPreaderWrite(), SCIPreoptAddDualBndchg(), SCIPreoptApplyGlbConss(), SCIPreoptMergeVarHistory(), SCIPresolveSolHeurSubNlp(), SCIProwDelCoef(), SCIProwPrint(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPseparateKnapsackCuts(), SCIPseparateRelaxedKnapsack(), SCIPsetBinaryVarIndicator(), SCIPsetSolVal(), SCIPsetSolVals(), SCIPshrinkDisjunctiveVarSet(), SCIPsolCheck(), SCIPsolIncVal(), SCIPsolPrint(), SCIPsolPrintRay(), SCIPsolSetVal(), SCIPsolveKnapsackApproximately(), SCIPstatComputeRootLPBestEstimate(), SCIPstatUpdateVarRootLPBestEstimate(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPtreeCalcNodeselPriority(), 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(), selectInitialVariableDecomposition(), selectInitialVariableRandomly(), selectVarMultAggrBranching(), selectVarRecursive(), sepaImplBoundCutsSOS1(), separateCuts(), sepastoreApplyLb(), sepastoreApplyUb(), setupAndSolveFiniteSolSubscip(), simplifyInequalities(), solUnlinkVar(), solveAndEvalSubscip(), solveBilinearLP(), solveNlp(), solveNode(), solveSubNLP(), sortAndMergeClique(), strengthenVarbounds(), tarjan(), tightenBounds(), tightenCoefs(), tightenDualproof(), tightenedLinkvar(), tightenSingleVar(), tightenVariables(), tightenVarLb(), tightenVarsBoundsSOS1(), tightenVarUb(), tightenWeights(), transformAndSolve(), transformVariable(), treeApplyPendingBdchgs(), tryFixVar(), undoBdchgsProof(), updateArcData(), updateAuxiliaryVarLowerbound(), updateBestCandidate(), updateConsanddataUses(), updatePseudocost(), upgradeConss(), varAddImplic(), varAddLbchginfo(), varAddUbchginfo(), varAddVbound(), varHasName(), varProcessAddHoleGlobal(), varProcessAddHoleLocal(), varProcessChgLbGlobal(), varProcessChgUbGlobal(), writeFzn(), writeOpbFixedVars(), writeOpbObjective(), and writeOpbRelevantAnds().

◆ SCIPvarGetNUses()

SCIP_EXPORT int SCIPvarGetNUses ( SCIP_VAR var)

gets number of times, the variable is currently captured

Parameters
varproblem variable

Definition at line 17022 of file var.c.

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

Referenced by SCIPprobFree(), and SCIPvarGetName().

◆ SCIPvarGetData()

SCIP_EXPORT SCIP_VARDATA* SCIPvarGetData ( SCIP_VAR var)

returns the user data of the variable

Parameters
varproblem variable

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

SCIP_EXPORT void SCIPvarSetData ( SCIP_VAR var,
SCIP_VARDATA vardata 
)

sets the user data for the variable

Parameters
varproblem variable
vardatauser variable data

Definition at line 17042 of file var.c.

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

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

◆ SCIPvarSetDelorigData()

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

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

Referenced by SCIPvarSetData().

◆ SCIPvarSetTransData()

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

sets method to transform user data of the variable

Parameters
varproblem variable

Definition at line 17065 of file var.c.

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

Referenced by SCIPvarSetDelorigData().

◆ SCIPvarSetDeltransData()

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

References NULL, and SCIPvarSetCopyData().

Referenced by SCIPcreateVarBinpacking(), and SCIPvarSetTransData().

◆ SCIPvarSetCopyData()

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

sets method to copy this variable into sub-SCIPs

Parameters
varproblem variable

Definition at line 17088 of file var.c.

References NULL, and SCIPvarSetInitial().

Referenced by SCIPvarSetDeltransData().

◆ SCIPvarGetStatus()

SCIP_EXPORT SCIP_VARSTATUS SCIPvarGetStatus ( SCIP_VAR var)

gets status of variable

Parameters
varproblem variable

Definition at line 17131 of file var.c.

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

Referenced by addAltLPConstraint(), addBdchg(), addCliques(), addCoef(), addSplitcons(), addVarbound(), applyBoundChanges(), applyFixings(), applyGenVBound(), applyRepair(), assignVars(), binvarGetActiveProbindex(), branchcandCalcLPCands(), branchOnBin(), calcBdchgScore(), calcBranchScore(), calcVarBoundsDominated(), calcVarBoundsDominating(), catchVarEvents(), changeAncestorBranchings(), checkCons(), checkFixedVariables(), checkForOverlapping(), checkSystemGF2(), cleanupHashDatas(), cliqueCleanup(), cliquePresolve(), colCalcInternalFarkasCoef(), colCalcInternalRedcost(), collectAggregatedVars(), computeAlternativeBounds(), computeCut(), conflictAddBound(), conflictAnalyzeRemainingBdchgs(), conflictResolveBound(), consdataCreate(), consdataPrint(), constructValidSolution(), convertToActiveVar(), correctConshdlrdata(), correctPresoldata(), countNonlinearities(), createCGCutCMIR(), createCGCuts(), createCoveringProblem(), createKKTComplementarityBounds(), createNAryBranch(), createNewSol(), createPresoldata(), determineVariableFixings(), dropVarEvents(), enforceCardinality(), enforceConflictgraph(), enforceIndicators(), exitPresolve(), fixDeleteOrUpgradeCons(), fixVariableZero(), fixVariableZeroNode(), getActiveVar(), getActiveVariables(), getBranchCands(), getImplVarRedcost(), getLinearCoeffs(), getNActiveConsScore(), getRandomVariable(), getVariablePscostScore(), getVariableRedcostScore(), inferVariableZero(), liftCliqueVariables(), lpFlushAddCols(), lpFlushChgCols(), lpUpdateObjval(), lpUpdateVarColumn(), lpUpdateVarColumnProved(), lpUpdateVarLoose(), lpUpdateVarLooseProved(), lpUpdateVarProved(), markNeighborsMWISHeuristic(), mergeMultiples(), nlrowAddToLinearCoef(), nlrowRemoveFixedLinearCoefPos(), nlrowRemoveFixedQuadVars(), optimize(), performInteriorSolCutStrengthening(), performRandRounding(), performSimpleRounding(), performStrongbranchSOS1(), preprocessCliques(), presolRoundIndicator(), presolveAddKKTAggregatedVars(), presolveDual(), presolveFindDuplicates(), presolveRemoveFixedVariables(), printBoundSection(), probInsertVar(), probRemoveVar(), processBinvarFixings(), processRealBoundChg(), processWatchedVars(), propagateBounds(), propagateBoundsTightenVar(), propagateCons(), propIndicator(), proposeFeasibleSolution(), propVariableNonzero(), readSolFile(), readXmlSolFile(), recomputeLooseObjectiveValue(), relaxVar(), removeConstraintsDueToNegCliques(), removeDoubleAndSingletonsAndPerformDualpresolve(), removeFixedLinearVariables(), removeFixedVariables(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONCSOLVERSYNCREAD(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSEXITPRE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPRINT(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HASHKEYVAL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PARAMCHGD(), 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(), SCIPconflictIsVarUsed(), SCIPcreateFiniteSolCopy(), SCIPdelVar(), SCIPdomchgAddBoundchg(), SCIPeventCreateImplAdded(), SCIPeventCreateVarFixed(), SCIPeventCreateVarUnlocked(), SCIPeventProcess(), SCIPexprtreeRemoveFixedVars(), 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(), SCIPvarDoNotMultaggr(), SCIPvarFix(), SCIPvarFlattenAggregationGraph(), SCIPvarGetActiveRepresentatives(), SCIPvarGetAggrConstant(), SCIPvarGetAggregatedObj(), SCIPvarGetAggrScalar(), SCIPvarGetAggrVar(), SCIPvarGetAvgBranchdepth(), SCIPvarGetAvgBranchdepthCurrentRun(), SCIPvarGetAvgConflictlength(), SCIPvarGetAvgConflictlengthCurrentRun(), SCIPvarGetAvgCutoffs(), SCIPvarGetAvgCutoffsCurrentRun(), SCIPvarGetAvgInferences(), SCIPvarGetAvgInferencesCurrentRun(), SCIPvarGetAvgSol(), SCIPvarGetBestRootLPObjval(), SCIPvarGetBestRootRedcost(), SCIPvarGetBestRootSol(), SCIPvarGetCol(), SCIPvarGetCutoffSum(), SCIPvarGetCutoffSumCurrentRun(), SCIPvarGetHolelistOriginal(), SCIPvarGetImplRedcost(), SCIPvarGetInferenceSum(), SCIPvarGetInferenceSumCurrentRun(), SCIPvarGetLastBdchgIndex(), SCIPvarGetLbAtIndex(), SCIPvarGetLbLP(), SCIPvarGetLbOriginal(), SCIPvarGetLPSol(), SCIPvarGetLPSol_rec(), SCIPvarGetMultaggrConstant(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetMultaggrVars(), SCIPvarGetNActiveConflicts(), SCIPvarGetNActiveConflictsCurrentRun(), SCIPvarGetNBranchings(), SCIPvarGetNBranchingsCurrentRun(), SCIPvarGetNegationConstant(), SCIPvarGetNegationVar(), 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(), SCIPvarIncInferenceSum(), SCIPvarIncNActiveConflicts(), SCIPvarIncNBranchings(), SCIPvarIncVSIDS(), SCIPvarIsInLP(), SCIPvarIsNegated(), SCIPvarIsOriginal(), SCIPvarIsTransformed(), SCIPvarIsTransformedOrigvar(), SCIPvarLoose(), SCIPvarMarkDoNotMultaggr(), SCIPvarMultiaggregate(), SCIPvarNegate(), SCIPvarPrint(), SCIPvarRemove(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarsAddClique(), SCIPvarScaleVSIDS(), SCIPvarSetDelorigData(), SCIPvarSetNLPSol(), SCIPvarSetRelaxSol(), SCIPvarSetRemovable(), SCIPvarSetTransData(), SCIPvarsGetActiveVars(), SCIPvarTransform(), SCIPvarTryAggregateVars(), SCIPvarUpdatePseudocost(), SCIPvarWasFixedEarlier(), SCIPvboundsAdd(), SCIPwriteGms(), SCIPwriteLp(), SCIPwriteMps(), SCIPwritePip(), selectVarMultAggrBranching(), separateCons(), shortenConss(), solUnlinkVar(), solveLp(), sortAndMergeClique(), tightenedLinkvar(), tightenVarsBoundsSOS1(), 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_EXPORT SCIP_Bool SCIPvarIsTransformed ( SCIP_VAR var)

returns whether the variable belongs to the transformed problem

Parameters
varproblem variable

Definition at line 17154 of file var.c.

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

Referenced by addCoef(), addExtendedAsymmetricFormulation(), addExtendedFlowFormulation(), addLinearCoef(), addQuadVarTerm(), addSplitcons(), addVarCardinality(), addVarSOS1(), addVarSOS2(), appendVarCardinality(), appendVarSOS1(), appendVarSOS2(), assignVars(), changeAncestorBranchings(), chgLinearCoefPos(), delCoefPos(), nlpAddVars(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSINIT(), 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(), solUnlinkVar(), tightenBounds(), transformToOrig(), varEnsureLbchginfosSize(), varEnsureUbchginfosSize(), varEventGholeAdded(), varEventGlbChanged(), varEventGubChanged(), varEventLbChanged(), varEventObjChanged(), varEventUbChanged(), varIncRootboundchgs(), varProcessAddHoleGlobal(), varProcessAddHoleLocal(), varProcessChgLbGlobal(), varProcessChgLbLocal(), varProcessChgUbGlobal(), and varProcessChgUbLocal().

◆ SCIPvarIsNegated()

◆ SCIPvarGetType()

SCIP_EXPORT SCIP_VARTYPE SCIPvarGetType ( SCIP_VAR var)

gets type of variable

Parameters
varproblem variable

Definition at line 17177 of file var.c.

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

Referenced by addConstraintToBendersSubproblem(), addFixedVarsConss(), addGlobalCut(), addLinearConstraints(), addLocalBranchingConstraint(), addLocalbranchingConstraintAndObjcutoff(), addRelaxation(), addScenarioVarsToProb(), addSplitcons(), addVarboundConstraints(), aggregateVariables(), aggregation(), applyBoundChanges(), applyBoundHeur(), applyFixings(), applyNlobbt(), applyRepair(), applyVboundsFixings(), branchcandCalcLPCands(), branchcandInsertPseudoCand(), branchcandRemovePseudoCand(), calcBranchScore(), cancelCol(), checkCons(), checkRedundancy(), checkRedundancySide(), checkVarbound(), chooseVeclenVar(), colIsDiscrete(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), compensateVarLock(), computeBranchingVariables(), computeDynamicRowOrder(), computeIntegerVariableBounds(), computeIntegerVariableBoundsDins(), computeSymmetryGroup(), conflictAddBound(), conflictAnalyzeRemainingBdchgs(), conflictResolveBound(), consdataCalcMinAbsval(), consdataCreate(), consdataPrint(), copyVars(), countSparseSol(), createAndSplitProblem(), createCGMIPprimalsols(), CUTOFF_CONSTRAINT(), decompHorizonInitialize(), determineBestBounds(), determineBoundForSNF(), determineSymmetry(), determineVariableFixingsDecomp(), dfs(), domchgMakeDynamic(), dualBoundStrengthening(), extractCapacityRows(), extractFlowRows(), findBestLb(), findBestUb(), findFixings(), findVarAggrRedVbcons(), fixAndPropagate(), fixInterdiction(), forbidFixation(), freeSymmetryData(), generateCutConvex(), generateCutNonConvex(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getScenarioDecompVar(), hasQuadvarHpProperty(), heurExec(), infinityCountUpdate(), initData(), isBoundchgUseless(), isPseudocostUpdateValid(), isVlb(), isVub(), level2dataGetResult(), level2dataStoreResult(), mcfnetworkExtract(), mergeMultiples(), nlpCalcFracVars(), optimize(), performOrbitalFixing(), performSimpleRounding(), predBndStr(), presolveDual(), presolveTryAddLinearReform(), presolveUpgrade(), prettifyConss(), printBoundSection(), printColumnSection(), printLinearCons(), probInsertVar(), probRemoveVar(), propagateOrbitalFixing(), readBounds(), readIndicators(), registerBranchingCandidates(), removeDoubleAndSingletonsAndPerformDualpresolve(), resolvePropagation(), rowCalculateGauss(), rowFindSlackVar(), 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_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(), SCIPcliquetableCleanup(), SCIPcreateConsAnd(), SCIPcreateConsIndicator(), SCIPcreateConsIndicatorLinCons(), SCIPdomchgAddBoundchg(), SCIPdomchgMakeStatic(), SCIPfixVar(), 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(), selectEssentialRounding(), selectInitialVariableDecomposition(), selectRounding(), selectShifting(), selectVarMultAggrBranching(), separateCons(), separateCuts(), separateGLS(), separateHeur(), separateSolution(), setupAndSolveSubscipRapidlearning(), singletonColumnStuffing(), soltreeAddSol(), solveNode(), sortComponents(), SymmetryFixVar(), tcliquegraphAddNode(), tcliquegraphConstructCliqueTable(), tightenBounds(), tightenCoefs(), tightenDualproof(), transformAndSolve(), tryAggregateIntVars(), updateActivities(), updateBestCandidate(), updatePseudocost(), useValuehistory(), varAddImplic(), varAddLbchginfo(), varAddTransitiveImplic(), varAddUbchginfo(), varGetChar(), varIsDiscrete(), varIsUnfixedLocal(), varProcessAddHoleGlobal(), varProcessAddHoleLocal(), varProcessBoundChanges(), varProcessChgLbGlobal(), varProcessChgLbLocal(), varProcessChgUbGlobal(), varProcessChgUbLocal(), writeFzn(), and writeOpbConstraints().

◆ SCIPvarIsBinary()

SCIP_EXPORT SCIP_Bool SCIPvarIsBinary ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17192 of file var.c.

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

Referenced by addCand(), addConflictBinvar(), addVarCardinality(), adjustCutoffbound(), aggregateVariables(), analyzeStrongbranch(), appendVarCardinality(), applyFixings(), applyProbing(), bdchginfoIsInvalid(), binaryVarListCreate(), binvarGetActiveProbindex(), calcBranchScore(), calcPscostQuot(), calculateAlternatives(), cancelCol(), cancelRow(), checkCons(), checkCurvatureExpensive(), checkLogicor(), checkSystemGF2(), chooseCoefVar(), chooseDoubleVar(), chooseFracVar(), chooseGuidedVar(), cliquetableGetNodeIndexBinvar(), collectBinaryCliqueData(), collectMaxactVar(), collectMinactImplicVars(), collectMinactObjchg(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), computeNogoodCut(), conflictQueueBound(), consdataCalcSignatures(), consdataCreate(), consdataSort(), createConflict(), createKKTDualCons(), createSolFromSubScipSol(), createSubproblem(), CUTOFF_CONSTRAINT(), DECL_VARFIXINGS(), detectImpliedBounds(), determineSymmetry(), dfs(), enforceConflictgraph(), enforceConssSOS1(), executeBranchingRecursive(), findAggregation(), findFixings(), fixMatchingSolutionValues(), getClosestVlb(), getClosestVub(), getConflictImplics(), getCover(), getFixedVariable(), getImpliedBounds(), getMaxactImplicObjchg(), getMaxactObjchg(), getMinactImplicObjchg(), getMinactObjchg(), getScore(), getScoreLikeCoefdiving(), heurExec(), isConsViolated(), lpCopyIntegrality(), mergeAndCleanQuadVarTerms(), mergeMultiples(), objimplicsCreate(), orbisackUpgrade(), permSortConsdata(), predBndStr(), preprocessConstraintPairs(), presolRoundCardinality(), presolRoundConsSOS1(), presolveDisaggregate(), presolveSolve(), presolveTryAddAND(), presolveTryAddLinearReform(), printIndicatorCons(), processBinvarFixings(), propagateCutoffboundBinvar(), propagateLowerboundBinvar(), propagateOrbitalFixing(), propagateVarbounds(), propagateVbounds(), propCardinality(), propdataInit(), propVariables(), registerBranchingCandidatesGap(), removeDoubleAndSingletonsAndPerformDualpresolve(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_SORTINDCOMP(), SCIPaddConflictBinvar(), SCIPaddVarImplication(), SCIPanalyzeDeductionsProbing(), SCIPapplyHeurDualval(), SCIPapplyProximity(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPcliqueAddVar(), SCIPcliqueDelVar(), SCIPcliquelistRemoveFromCliques(), SCIPcliquetableAdd(), SCIPcliquetableComputeCliqueComponents(), SCIPcliquetableGetVarComponentIdx(), SCIPcreateConsCardinality(), SCIPcreateConsOrbitope(), SCIPdomchgAddBoundchg(), SCIPgenerateOrbitopeVarsMatrix(), SCIPgetPropertiesPerm(), SCIPgetVarWasFixedAtIndex(), SCIPhaveVarsCommonClique(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), 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(), separateGLS(), separateHeur(), setRedcosts(), setSymmetryData(), sortAndMergeClique(), sortVariables(), tightenCoefs(), tightenDualproof(), upgradeCons(), upgradeConss(), varAddImplic(), varAddLbchginfo(), varAddUbchginfo(), and varGetObjDelta().

◆ SCIPvarIsIntegral()

SCIP_EXPORT SCIP_Bool SCIPvarIsIntegral ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17203 of file var.c.

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

Referenced by addBilinearTermToCut(), addVarbound(), adjustCutoffbound(), aggregation(), analyzeConflict(), analyzeConflictLowerbound(), analyzeConflictUpperbound(), calculateAlternatives(), cancelCol(), cancelRow(), checkKnapsack(), computeCut(), computeFixingOrder(), computeRelaxedLowerbound(), computeRelaxedUpperbound(), conflictAddConflictCons(), conflictCreateReconvergenceConss(), createAndAddProofcons(), createCGCutCMIR(), createNewSol(), createSubSCIP(), cutsRoundStrongCG(), cutTightenCoefs(), cutTightenCoefsQuad(), DECL_VARFIXINGS(), detectImpliedBounds(), determineBound(), determineVariableFixings(), enforceConflictgraph(), fixAndPropagate(), fixMatchingSolutionValues(), generateClusterCuts(), isOverlapping(), lpCopyIntegrality(), nodepartitionIsConnected(), performFixing(), performStrongbranchSOS1(), polishSolution(), propagateLowerboundVar(), propagateRedcostVar(), propIndicator(), proposeFeasibleSolution(), readIndicators(), registerBranchingCandidatesGap(), resolveGenVBoundPropagation(), resolvePropagation(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSENFORELAX(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_SORTINDCOMP(), SCIPaddVarIndicator(), SCIPboundchgApply(), SCIPcolCreate(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPcolInvalidateStrongbranchData(), SCIPcolIsIntegral(), SCIPcolSetStrongbranchData(), SCIPcreateConsIndicator(), 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()

◆ SCIPvarIsRemovable()

SCIP_EXPORT SCIP_Bool SCIPvarIsRemovable ( SCIP_VAR var)

◆ SCIPvarIsDeleted()

SCIP_EXPORT SCIP_Bool SCIPvarIsDeleted ( SCIP_VAR var)

returns whether the variable was deleted from the problem

Parameters
varproblem variable

Definition at line 17233 of file var.c.

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

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

◆ SCIPvarMarkDeletable()

SCIP_EXPORT 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 17245 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(), and SCIPvarIsDeleted().

◆ SCIPvarMarkNotDeletable()

SCIP_EXPORT void SCIPvarMarkNotDeletable ( SCIP_VAR var)

◆ SCIPvarIsDeletable()

SCIP_EXPORT SCIP_Bool SCIPvarIsDeletable ( SCIP_VAR var)

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

Definition at line 17325 of file var.c.

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

Referenced by focusnodeCleanupVars(), and SCIPvarMarkRelaxationOnly().

◆ SCIPvarMarkDeleteGlobalStructures()

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

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

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

◆ SCIPvarIsActive()

SCIP_EXPORT SCIP_Bool SCIPvarIsActive ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17335 of file var.c.

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

Referenced by addCliqueDataEntry(), addCliques(), addConsToOccurList(), addLinearCoef(), addQuadVarTerm(), addVarbound(), applyFixings(), applyGenVBounds(), applyProbing(), binvarGetActiveProbindex(), branchruledataEnsureArraySize(), calcCliquePartitionGreedy(), catchVarEvents(), checkFixedVariables(), checkForOverlapping(), checkLocksAndRes(), checkRedundantCons(), checkSystemGF2(), cliquePresolve(), cliquesSearchClique(), cliquetableGetNodeIndexBinvar(), collectCliqueData(), conflictAddBound(), conflictAnalyze(), conflictCreateReconvergenceConss(), conflictResolveBound(), createAndSplitProblem(), createCoveringProblem(), createNAryBranch(), createSolFromNLP(), createSolFromSubScipSol(), createSubproblem(), createSubSCIP(), cutsRoundMIR(), cutsTransformMIR(), cutsTransformStrongCG(), decompGetConsVarsAndLabels(), dfs(), dualPresolving(), extractGates(), findAggregation(), freeSubSCIP(), getActiveVar(), getImpliedBounds(), getLinVarsAndAndRess(), getMaxactImplicObjchg(), getRandomVariable(), GUBsetCalcCliquePartition(), heurdataEnsureArraySize(), initData(), initTCliquegraph(), isGAMSprintableSOC(), liftCliqueVariables(), mergeMultiples(), nlpAddVars(), nlpRemoveFixedVar(), nlpSetupNlpiIndices(), nlrowAddLinearCoef(), nlrowAddToLinearCoef(), nlrowExprtreeChanged(), nlrowRemoveFixedLinearCoefPos(), nlrowRemoveFixedQuadVars(), nlrowRemoveFixedVar(), preprocessCliques(), preprocessConstraintPairs(), presolRoundIndicator(), presolveDisaggregate(), presolveRemoveFixedVariables(), propagateCons(), propagateVbounds(), removeConstraintsDueToNegCliques(), removeFixedLinearVariables(), removeFixedNonlinearVariables(), removeFixedVariables(), replaceQuadVarTermPos(), resolvePropagationCoretimes(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_CONSACTIVE(), SCIP_DECL_CONSENABLE(), SCIP_DECL_CONSEXITPRE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSTRANS(), SCIP_DECL_EXPRGRAPHVARADDED(), SCIP_DECL_HASHKEYVAL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PROBCOPY(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_SEPAEXECLP(), SCIPaddVarImplication(), SCIPcalcCliquePartition(), SCIPcliquetableComputeCliqueComponents(), SCIPcomputeDecompVarsLabels(), SCIPconflictAddBound(), SCIPconflictAddRelaxedBound(), SCIPconflictIsVarUsed(), SCIPcreateConsAbspower(), SCIPcreateConsOrbitope(), SCIPexprtreeRemoveFixedVars(), SCIPgetReoptOldObjCoef(), SCIPhaveVarsCommonClique(), SCIPimplicsAdd(), SCIPnlrowAddLinearCoef(), SCIPnlrowAddQuadVar(), SCIPnlrowDelLinearCoef(), SCIPprimalTransformSol(), SCIPprobdataAddNewSol(), 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(), tightenBounds(), tightenVariables(), tryUpgradingXor(), updateBestCandidate(), varAddImplic(), varAddTransitiveBinaryClosureImplic(), varAddTransitiveImplic(), varIncRootboundchgs(), varMayRoundDown(), varMayRoundUp(), and writeOpbRelevantAnds().

◆ SCIPvarGetIndex()

SCIP_EXPORT int SCIPvarGetIndex ( SCIP_VAR var)

◆ SCIPvarGetProbindex()

SCIP_EXPORT int SCIPvarGetProbindex ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17355 of file var.c.

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

Referenced by addGLSCliques(), addNextLevelCliques(), addRow(), aggrRowGetMinActivity(), alnsFixMoreVariables(), alnsUnfixVariables(), applyRepair(), binvarGetActiveProbindex(), branchruledataAddBoundChangeVar(), branchruledataEnsureArraySize(), branchruledataPopBoundChangeVar(), branchruledataUpdateCurrentBounds(), buildBlockGraph(), calcSignature(), checkRedundancy(), collectBinaryCliqueData(), collectCoefficients(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), computeAlternativeBounds(), computeCut(), computeSymmetryGroup(), conflictAnalyzeLP(), constructCompression(), constructSNFRelaxation(), createCGCutDirect(), createCoveringProblem(), createEdgesFromRow(), createRows(), createSubproblem(), createSubSCIP(), createTcliqueGraph(), cutsRoundMIR(), cutsRoundStrongCG(), cutsTransformMIR(), cutsTransformStrongCG(), 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(), insertSortedRootNeighbors(), isNeighbor(), isUseOldBranching(), isVariableInNeighborhood(), lpUpdateVarColumn(), lpUpdateVarColumnProved(), lpUpdateVarLoose(), lpUpdateVarLooseProved(), lpUpdateVarProved(), mergeMultiples(), mod2MatrixAddCol(), packingUpgrade(), printLinearCons(), printRow(), probInsertVar(), probRemoveVar(), processNlRow(), polyscip::Polyscip::readProblem(), reoptCheckLocalRestart(), rowAddCoef(), rowCalculateGauss(), runBoundHeuristic(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SORTINDCOMP(), SCIP_DECL_SORTPTRCOMP(), SCIPaddPricedVar(), SCIPaddVar(), SCIPaggrRowAddObjectiveFunction(), SCIPaggrRowCancelVarWithBound(), SCIPaggrRowPrint(), SCIPapplyHeurSubNlp(), SCIPapplyLockFixings(), SCIPchgVarName(), SCIPchgVarType(), SCIPcolCreate(), SCIPeventProcess(), SCIPlpGetPrimalRay(), SCIPlpSumRows(), SCIPlpUpdateAddVar(), SCIPlpUpdateDelVar(), SCIPlpUpdateVarLb(), SCIPlpUpdateVarObj(), SCIPlpUpdateVarUb(), SCIPpricestoreApplyVars(), SCIPprimalTransformSol(), SCIPprobAddVar(), SCIPprobAddVarName(), SCIPprobChgVarType(), SCIPprobDelVar(), SCIPprobFree(), SCIPprobPerformVarDeletions(), SCIPprobVarChangedStatus(), SCIPresolveSolHeurSubNlp(), SCIPseparateRelaxedKnapsack(), SCIPshrinkDisjunctiveVarSet(), SCIPsolRetransform(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPvarGetImplRedcost(), SCIPvarGetIndex(), SCIPvariablegraphBreadthFirst(), SCIPvarRemove(), SCIPwriteCliqueGraph(), selectInitialVariableRandomly(), selectNextVariable(), selectShifting(), separateCuts(), separateGLS(), separateHeur(), solveSubNLP(), sortFirstCandidatesByScore(), tarjan(), tightenDualproof(), tightenVariables(), transformNonIntegralRow(), undoBdchgsProof(), and varProcessBoundChanges().

◆ SCIPvarGetTransVar()

◆ SCIPvarGetCol()

SCIP_EXPORT SCIP_COL* SCIPvarGetCol ( SCIP_VAR var)

gets column of COLUMN variable

Parameters
varproblem variable

Definition at line 17376 of file var.c.

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

Referenced by addBdchg(), addFracCounter(), analyzeStrongbranch(), branchcandCalcLPCands(), calcBdchgScore(), calcBranchScore(), calcShiftVal(), calculateBounds(), checkConstraintMatching(), colCalcInternalFarkasCoef(), colCalcInternalRedcost(), computeCut(), createCGCutCMIR(), determineBound(), determineVariableFixings(), filterExistingLP(), generateAverageRay(), getImplVarRedcost(), getNActiveConsScore(), initLP(), lpFlushAddCols(), lpFlushChgCols(), relaxVar(), 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(), tryFixVar(), updateActivities(), updateRowActivities(), updateSlacks(), varColCompare(), and varProcessBoundChanges().

◆ SCIPvarIsInLP()

SCIP_EXPORT 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 17387 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(), SCIPvarGetCol(), setupAggregationData(), and undoBdchgsProof().

◆ SCIPvarGetAggrVar()

◆ SCIPvarGetAggrScalar()

◆ SCIPvarGetAggrConstant()

SCIP_EXPORT SCIP_Real SCIPvarGetAggrConstant ( SCIP_VAR var)

◆ SCIPvarGetMultaggrNVars()

◆ SCIPvarGetMultaggrVars()

◆ SCIPvarGetMultaggrScalars()

◆ SCIPvarGetMultaggrConstant()

◆ SCIPvarGetNegatedVar()

◆ SCIPvarGetNegationVar()

◆ SCIPvarGetNegationConstant()

SCIP_EXPORT SCIP_Real SCIPvarGetNegationConstant ( SCIP_VAR var)

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

Parameters
varnegated problem variable

Definition at line 17499 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_EXPORT SCIP_Real SCIPvarGetObj ( SCIP_VAR var)

gets objective function value of variable

Parameters
varproblem variable

Definition at line 17510 of file var.c.

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

Referenced by addBoundViolated(), addConflictBinvar(), addConflictBounds(), addConstraintToBendersSubproblem(), addObjcut(), addScenarioVarsToProb(), addTrustRegionConstraints(), adjustCutoffbound(), applyAlternativeBoundsBranching(), applyCliqueFixings(), applyOptcumulative(), applyOptcumulativeFixings(), applyRepair(), applyVboundsFixings(), BENDERS_CUTORACLE(), calcShiftVal(), catchObjEvent(), changeSubvariableObjective(), checkConsQuadraticProblem(), checkDivingCandidates(), checkSystemGF2(), chooseFracVar(), chooseGuidedVar(), chooseVeclenVar(), collectMinactImplicVar(), collectMinactImplicVars(), collectMinactVar(), compensateVarLock(), componentSetupWorkingSol(), computeStandardLPOptimalityCut(), computeStandardNLPOptimalityCut(), computeSymmetryGroup(), consdataFindUnlockedLinearVar(), createCGCutDirect(), createNewSol(), createObjRow(), createSubproblem(), createSubproblems(), createSubSCIP(), determineSymmetry(), dropObjEvent(), dualBoundStrengthening(), dualPresolving(), evaluateAggrCand(), evaluateValueCand(), findAggregation(), findComponents(), findDominancePairs(), findDownlockAggregations(), findFixings(), findUplockAggregations(), fixIntegerVariable(), generateAndApplyBendersCuts(), generateObjectiveRay(), getConflictImplics(), getMaxactImplicObjchg(), getMinactImplicObjchg(), getObjectiveFactor(), getPotential(), getVariable(), hasQuadvarHpProperty(), infinityCountUpdate(), initSolve(), isVlb(), isVub(), lpUpdateVarColumn(), lpUpdateVarColumnProved(), lpUpdateVarLoose(), lpUpdateVarLooseProved(), nlpAddVars(), nlpDelVarPos(), nlpFlushObjective(), nlpFlushVarAdditions(), nlpSolve(), nlpUpdateObjCoef(), objimplicsCreate(), optimize(), performDualfix(), performRandRounding(), performSimpleRounding(), predBndStr(), presolveDual(), printPBRow(), propagateCons(), propagateCutoffboundGlobally(), propagateLowerboundVar(), readObjective(), readOPBFile(), recomputeGlbPseudoObjectiveValue(), recomputeLooseObjectiveValue(), recomputePseudoObjectiveValue(), removeDoubleAndSingletonsAndPerformDualpresolve(), reoptSaveNewObj(), resolvePropagation(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_SORTPTRCOMP(), SCIPaggrRowAddObjectiveFunction(), SCIPapplyHeurDualval(), SCIPapplyLockFixings(), SCIPapplyProximity(), SCIPbendersMergeSubproblemIntoMaster(), SCIPchgReoptObjective(), SCIPchgVarObjProbing(), SCIPcolCreate(), SCIPconflictAnalyzePseudo(), SCIPcreateConsOrbitope(), SCIPcreateNlpiProb(), 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(), setObjective(), setupAndSolveSubscip(), setupSubproblem(), setupSubScip(), singletonColumnStuffing(), solCutIsViolated(), solveAndEvalSubscip(), solveCoveringProblem(), solveCumulative(), solveIndependentCons(), transformColumn(), updateBestCandidate(), updateVariableRounding(), varGetObjDelta(), varMayRoundDown(), varMayRoundUp(), writeExpandedSolutions(), writeFzn(), writeOpbConstraints(), and writeOpbObjective().

◆ SCIPvarGetUnchangedObj()

SCIP_EXPORT 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 17520 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_EXPORT SCIP_HOLELIST* SCIPvarGetHolelistOriginal ( SCIP_VAR var)

gets the original hole list of an original variable

Parameters
varproblem variable

Definition at line 17648 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_EXPORT SCIP_Real SCIPvarGetLbGlobal ( SCIP_VAR var)

gets global lower bound of variable

Parameters
varproblem variable

Definition at line 17662 of file var.c.

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

Referenced by addAltLPColumn(), addConflictBinvar(), addConflictBounds(), addConstraintToBendersSubproblem(), addFixedVarsConss(), addGlobalCut(), addLinearCoef(), addLinearization(), addLinearizationCuts(), addLocalBranchingConstraint(), addLowerboundCons(), addQuadVarTerm(), addSplitcons(), addVarbound(), adjustCutoffbound(), adjustOversizedJobBounds(), aggregation(), aggrRowGetMinActivity(), alnsFixMoreVariables(), analyzeEnergyRequirement(), analyzeStrongbranch(), applyFixings(), applyGenVBound(), applyImplic(), applyRepair(), assignVars(), boundchgApplyGlobal(), buildMod2Matrix(), calcShiftVal(), calculateBounds(), cancelCol(), catchEventBinvar(), catchVarEvents(), checkCounters(), checkCurvature(), checkFixedVariables(), checkGlbfirstnonfixed(), checkIISlocal(), checkImplic(), checkOverloadViaThetaTree(), checkRedundancy(), checkRedundancySide(), checkSolution(), checkSystemGF2(), chgCoeffWithBound(), chgQuadCoeffWithBound(), cliqueCleanup(), cliquePresolve(), cliquesSearchClique(), collectBinaryCliqueData(), collectMinactImplicVar(), collectMinactImplicVars(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), collectVars(), compensateVarLock(), componentSetupWorkingSol(), computeCut(), computeEnergyContribution(), computeIntegerVariableBounds(), computeIntegerVariableBoundsDins(), computeInteriorPoint(), computeMaxEnergy(), computeRanks(), computeStandardLPFeasibilityCut(), computeSymmetryGroup(), computeViolation(), conflictAnalyze(), consdataCreate(), consdataCreateBinvars(), consdataDeletePos(), consdataFree(), consdataGetFeasibility(), consdataGetGlbActivityResiduals(), consdataLinearize(), consdataPrint(), consdataRecomputeGlbMinactivity(), consdataRecomputeMaxactivity(), constructSNFRelaxation(), createConflictCons(), createCoveringProblem(), createIndicatorConstraint(), createKKTComplementarityBounds(), createKKTDualCons(), createNlRow(), createObjRow(), createSolFromSubScipSol(), createSortedEventpoints(), createSubSCIP(), createSubscip(), createVarboundCons(), cutsRoundMIR(), cutsRoundStrongCG(), cutTightenCoefs(), cutTightenCoefsQuad(), DECL_CHANGESUBSCIP(), detectImplications(), detectImpliedBounds(), determineBestBounds(), determineBound(), determineVariableFixings(), dfs(), doSolveSubMIP(), dropEventBinvar(), dualBoundStrengthening(), dualPresolve(), dualPresolving(), enfopsCons(), extractLinearValues(), filterExistingLP(), findAggregation(), findBestLb(), findDominancePairs(), findDownlockAggregations(), findUncapacitatedArcs(), findUplockAggregations(), fixDiscreteVars(), fixIntegerVariableUb(), fixVariables(), focusnodeCleanupVars(), forbidFixation(), freeMemory(), generateAndApplyBendersIntegerCuts(), generateBoundInequalityFromSOS1Nodes(), generateCut(), generateCutFactorable(), generateRowCardinality(), generateRowSOS2(), generateZerohalfCut(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getClosestVub(), getCorner(), getFixVal(), getGenVBoundsMinActivity(), getImpliedBounds(), getMaxactImplicObjchg(), getMaxActivity(), getMinactImplicObjchg(), getMinActivity(), getObjectiveFactor(), getPotential(), getPotentialContributed(), getSolutionValues(), globalfixing(), handleNewVariableCardinality(), handleNewVariableSOS1(), infinityCountUpdate(), isBoundchgUseless(), isCandidate(), isVlb(), isVub(), lockVariableCardinality(), lockVariableSOS2(), mcfnetworkFill(), objimplicsCreate(), optimize(), performDualfix(), polishSolution(), predBndStr(), preprocessConstraintPairs(), presolRoundIndicator(), presolRoundSOS2(), presolveAddKKTAggregatedVars(), presolveConsEffectiveHorizon(), presolveConsEst(), presolveConsLct(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), presolveCumulativeCondition(), presolveDual(), presolveTryAddLinearReform(), printSignpowerRow(), proofsetCancelVarWithBound(), propagateBinaryBestRootRedcost(), propagateCutoffboundGlobally(), propagateCutoffboundVar(), propagateLongProof(), propagateLowerboundVar(), propagateOrbitalFixing(), propagateRootRedcostVar(), propagateVarbounds(), propagateVbounds(), proposeFeasibleSolution(), readBinaries(), readBounds(), readGenerals(), readSemicontinuous(), readSol(), reboundIntegerVariables(), recomputeGlbPseudoObjectiveValue(), relaxVar(), removeDoubleAndSingletonsAndPerformDualpresolve(), removeFixedVariables(), removeIrrelevantJobs(), removeZeros(), removeZerosQuad(), replaceQuadVarTermPos(), resolveGenVBoundPropagation(), resolvePropagationCoretimes(), restrictToBinaryBounds(), rowFindSlackVar(), rowprepCleanupImproveCoefrange(), rowprepCleanupIntegralCoefs(), rowScale(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_CONCSOLVERSYNCREAD(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSENABLE(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_SORTINDCOMP(), SCIPaddVarImplication(), SCIPaggrRowCancelVarWithBound(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyProbingVar(), SCIPapplyProximity(), SCIPapplyUndercover(), SCIPbendersComputeSubproblemLowerbound(), SCIPbranchGetBranchingPoint(), SCIPcliqueDelVar(), SCIPcliquetableAdd(), SCIPcomputeVarLbGlobal(), SCIPconflictAddRelaxedBound(), SCIPconflictGetVarLb(), SCIPconsResolvePropagation(), SCIPcreateConsLinking(), SCIPcreateConsOrbitope(), SCIPcreateFiniteSolCopy(), SCIPcutGenerationHeuristicCMIR(), SCIPcutsTightenCoefficients(), SCIPevalExprtreeGlobalBounds(), SCIPimplicsAdd(), SCIPincludePresolMILP(), SCIPisConvexAbspower(), SCIPlpRecomputeLocalAndGlobalPseudoObjval(), SCIPlpUpdateVarObj(), SCIPmatrixCreate(), SCIPmatrixPrintRow(), SCIPnodeAddBoundinfer(), SCIPprobdataAddNewSol(), SCIPpropResolvePropagation(), SCIPreoptSaveGlobalBounds(), SCIPresolveSolHeurSubNlp(), SCIPseparateRelaxedKnapsack(), SCIPshrinkDisjunctiveVarSet(), SCIPsolAdjustImplicitSolVals(), SCIPsolCheck(), SCIPsolGetRayVal(), SCIPsolGetVal(), SCIPsolSetVal(), SCIPtightenVarLbGlobal(), SCIPtightenVarUbGlobal(), SCIPvarAddHoleGlobal(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarCopy(), SCIPvarGetHolelistOriginal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetNLPSol_rec(), SCIPvarGetRelaxSol(), SCIPvarPrint(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarUpdateBestRootSol(), SCIPvisualizeConsCumulative(), SCIPwriteBnd(), SCIPwriteLp(), SCIPwritePip(), selectShifting(), sepaImplBoundCutsSOS1(), separateCuts(), separatePerspective(), sepastoreApplyLb(), sepastoreApplyUb(), sepastoreIsBdchgApplicable(), 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(), tryFixVar(), tryUpgradingXor(), undoBdchgsProof(), unlockVariableCardinality(), unlockVariableSOS2(), updateAuxiliaryVarLowerbound(), updateFirstRow(), updateFirstRowGlobal(), updateSlacks(), updateSubproblemCutConstant(), varAddImplic(), varAddVbound(), varIncRootboundchgs(), varIsFixed(), and varProcessAddHoleGlobal().

◆ SCIPvarGetUbGlobal()

SCIP_EXPORT SCIP_Real SCIPvarGetUbGlobal ( SCIP_VAR var)

gets global upper bound of variable

Parameters
varproblem variable

Definition at line 17672 of file var.c.

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

Referenced by addAltLPColumn(), addConflictBinvar(), addConflictBounds(), addConflictReasonVars(), addConstraintToBendersSubproblem(), addFixedVarsConss(), addGlobalCut(), addLinearCoef(), addLinearization(), addLinearizationCuts(), addLocalBranchingConstraint(), addQuadVarTerm(), addSplitcons(), addVarbound(), adjustCutoffbound(), adjustOversizedJobBounds(), aggregation(), aggrRowGetMinActivity(), alnsFixMoreVariables(), analyzeEnergyRequirement(), analyzeStrongbranch(), applyFixings(), applyGenVBound(), applyImplic(), applyRepair(), applyZeroFixings(), assignVars(), boundchgApplyGlobal(), buildMod2Matrix(), calcShiftVal(), calculateBounds(), cancelCol(), catchEventBinvar(), catchVarEvents(), checkCounters(), checkCurvature(), checkFixedVariables(), checkGlbfirstnonfixed(), checkIISlocal(), checkImplic(), checkOverloadViaThetaTree(), checkRedundancy(), checkRedundancySide(), checkSolution(), checkSystemGF2(), chgCoeffWithBound(), chgQuadCoeffWithBound(), cliqueCleanup(), cliquePresolve(), cliquesSearchClique(), collectActivities(), collectBinaryCliqueData(), collectBinaryVars(), collectDemands(), collectEstLst(), collectMinactImplicVar(), collectMinactImplicVars(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), collectVars(), compensateVarLock(), componentSetupWorkingSol(), computeCut(), computeEnergyContribution(), computeIntegerVariableBounds(), computeIntegerVariableBoundsDins(), computeInteriorPoint(), computeMaxEnergy(), computeRanks(), computeStandardLPFeasibilityCut(), computeSymmetryGroup(), computeViolation(), conflictAnalyze(), consdataCreate(), consdataCreateBinvars(), consdataDeletePos(), consdataGetFeasibility(), consdataGetGlbActivityResiduals(), consdataLinearize(), consdataPrint(), consdataRecomputeGlbMinactivity(), consdataRecomputeMaxactivity(), constructSNFRelaxation(), createCoveringProblem(), createIndicatorConstraint(), createKKTComplementarityBounds(), createKKTDualCons(), createNlRow(), createSortedEventpoints(), createSubSCIP(), createSubscip(), createVarboundCons(), createVarUbs(), cutsRoundMIR(), cutsRoundStrongCG(), cutTightenCoefs(), cutTightenCoefsQuad(), DECL_CHANGESUBSCIP(), detectImplications(), detectImpliedBounds(), determineBestBounds(), determineBound(), determineVariableFixings(), dfs(), doSolveSubMIP(), dropEventBinvar(), dualBoundStrengthening(), dualPresolve(), dualPresolving(), enfopsCons(), extractLinearValues(), filterExistingLP(), findAggregation(), findBestUb(), findDominancePairs(), findDownlockAggregations(), findFixings(), findUncapacitatedArcs(), findUplockAggregations(), fixDiscreteVars(), fixIntegerVariableUb(), fixTriangle(), fixVariables(), focusnodeCleanupVars(), forbidFixation(), freeMemory(), generateBoundInequalityFromSOS1Nodes(), generateCut(), generateCutFactorable(), generateRowCardinality(), generateRowSOS2(), generateZerohalfCut(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getClosestVlb(), getCorner(), getFixVal(), getGenVBoundsMinActivity(), getImpliedBounds(), getMaxactImplicObjchg(), getMaxActivity(), getMinactImplicObjchg(), getMinActivity(), getObjectiveFactor(), getPotential(), getPotentialContributed(), getSolutionValues(), globalfixing(), handleNewVariableCardinality(), handleNewVariableSOS1(), infinityCountUpdate(), isBoundchgUseless(), isCandidate(), lockVariableCardinality(), lockVariableSOS2(), mcfnetworkFill(), objimplicsCreate(), optimize(), performDualfix(), polishSolution(), predBndStr(), preprocessConstraintPairs(), presolRoundIndicator(), presolRoundSOS2(), presolveAddKKTAggregatedVars(), presolveConsEffectiveHorizon(), presolveConsEst(), presolveConsLct(), presolveCumulativeCondition(), presolveDual(), presolveTryAddLinearReform(), printIndicatorCons(), printSignpowerRow(), proofsetCancelVarWithBound(), propagateBinaryBestRootRedcost(), propagateCons(), propagateCutoffboundGlobally(), propagateCutoffboundVar(), propagateLongProof(), propagateLowerboundVar(), propagateOrbitalFixing(), propagateRootRedcostVar(), propagateVarbounds(), propagateVbounds(), proposeFeasibleSolution(), readBinaries(), readBounds(), readGenerals(), readSol(), reboundIntegerVariables(), recomputeGlbPseudoObjectiveValue(), relaxVar(), removeFixedVariables(), removeIrrelevantJobs(), removeZeros(), removeZerosQuad(), replaceQuadVarTermPos(), resolveGenVBoundPropagation(), resolvePropagationCoretimes(), restrictToBinaryBounds(), rowFindSlackVar(), rowprepCleanupImproveCoefrange(), rowprepCleanupIntegralCoefs(), rowScale(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_CONCSOLVERSYNCREAD(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_SOLVECUMULATIVE(), SCIP_DECL_SORTINDCOMP(), SCIPaddVarImplication(), SCIPaggrRowCancelVarWithBound(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyProbingVar(), SCIPapplyProximity(), SCIPbranchGetBranchingPoint(), SCIPcliqueDelVar(), SCIPcliquetableAdd(), SCIPcomputeVarUbGlobal(), SCIPconflictAddRelaxedBound(), SCIPconflictGetVarUb(), SCIPconsResolvePropagation(), SCIPcreateConsLinking(), SCIPcreateConsOrbitope(), SCIPcreateFiniteSolCopy(), SCIPcutGenerationHeuristicCMIR(), SCIPcutsTightenCoefficients(), SCIPevalExprtreeGlobalBounds(), SCIPimplicsAdd(), SCIPincludePresolMILP(), SCIPlpRecomputeLocalAndGlobalPseudoObjval(), SCIPlpUpdateVarObj(), SCIPmatrixCreate(), SCIPmatrixPrintRow(), SCIPnodeAddBoundinfer(), SCIPprobdataAddNewSol(), SCIPpropResolvePropagation(), SCIPreoptSaveGlobalBounds(), SCIPresolveSolHeurSubNlp(), SCIPseparateRelaxedKnapsack(), SCIPshrinkDisjunctiveVarSet(), SCIPsolAdjustImplicitSolVals(), SCIPsolCheck(), SCIPsolGetRayVal(), SCIPsolGetVal(), SCIPStpHeurRecRun(), SCIPStpHeurTMRunLP(), SCIPtightenVarLbGlobal(), SCIPtightenVarUbGlobal(), SCIPvarAddHoleGlobal(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarCopy(), SCIPvarGetLbGlobal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetNLPSol_rec(), SCIPvarGetProbvarBinary(), SCIPvarGetRelaxSol(), SCIPvarPrint(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarUpdateBestRootSol(), SCIPvisualizeConsCumulative(), SCIPwriteBnd(), SCIPwriteLp(), SCIPwritePip(), selectShifting(), sepaImplBoundCutsSOS1(), separateCuts(), separateIndicators(), separatePerspective(), sepastoreApplyLb(), sepastoreApplyUb(), sepastoreIsBdchgApplicable(), 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(), tryFixVar(), tryUpgradingXor(), undoBdchgsProof(), unlockVariableCardinality(), unlockVariableSOS2(), updateDistances(), updateFirstRow(), updateFirstRowGlobal(), updateSlacks(), varAddImplic(), varAddVbound(), varIncRootboundchgs(), varIsFixed(), and varProcessAddHoleGlobal().

◆ SCIPvarGetHolelistGlobal()

SCIP_EXPORT SCIP_HOLELIST* SCIPvarGetHolelistGlobal ( SCIP_VAR var)

gets the global hole list of an active variable

Parameters
varproblem variable

Definition at line 17682 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_EXPORT SCIP_Real SCIPvarGetBestBoundGlobal ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17692 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_EXPORT SCIP_Real SCIPvarGetWorstBoundGlobal ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17705 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_EXPORT SCIP_Real SCIPvarGetLbLocal ( SCIP_VAR var)

gets current lower bound of variable

Parameters
varproblem variable

Definition at line 17718 of file var.c.

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

Referenced by addBilinearTermToCut(), addBoundViolated(), addBranchingComplementaritiesSOS1(), addCand(), addCliqueDataEntry(), addConcaveEstimatorBivariate(), addConcaveEstimatorMultivariate(), addConcaveEstimatorUnivariate(), addConflictReasonVars(), addFacetToCut(), addFixedVarsConss(), addIntervalGradientEstimator(), addLinearTermToCut(), addRelaxation(), addSplitcons(), addUserEstimator(), analyseInfeasibelCoreInsertion(), analyzeConflictOne(), analyzeConflictUpperbound(), analyzeConflictZero(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), analyzeZeroResultant(), applyAlternativeBoundsBranching(), applyAlternativeBoundsFixing(), applyBdchgs(), applyBoundHeur(), applyCliqueFixings(), applyGenVBound(), applyNlobbt(), applyOptcumulative(), applyOptcumulativeFixings(), applyProbing(), applyProbingVar(), applyVboundsFixings(), branch(), branchBalancedCardinality(), branchcandCalcLPCands(), branchruledataUpdateCurrentBounds(), branchUnbalancedCardinality(), buildMod2Matrix(), calcBranchScore(), calculateAlternatives(), catchEvent(), catchEventBinvar(), changeAncestorBranchings(), checkBounddisjunction(), checkCounters(), checkForOverlapping(), checkIISlocal(), checkKnapsack(), checkLogicor(), checkOverloadViaThetaTree(), checkRikun(), checkSetupTolerances(), checkSolution(), checkSwitchNonoverlappingSOS1Methods(), checkVarbound(), checkVariable(), chgCoeffWithBound(), chgProbingBound(), chgQuadCoeffWithBound(), chooseCoefVar(), chooseDoubleVar(), chooseFracVar(), chooseGuidedVar(), choosePscostVar(), chooseVeclenVar(), collectActivities(), collectBranchingCands(), collectCliqueData(), collectDataTTEF(), collectEstLst(), collectIntVars(), collectSolActivities(), collectSolution(), componentSetupWorkingSol(), computeAlternativeBounds(), computeBranchingVariables(), computeCut(), computeEnergyContribution(), computeImpliedEst(), computeImpliedLct(), computeInteriorPoint(), computeMinDistance(), computeReferencePointGauge(), computeReferencePointProjection(), computeStandardLPOptimalityCut(), computeSymmetryGroup(), computeViolation(), conflictAnalyzeLP(), conflictAnalyzeRemainingBdchgs(), consCheckRedundancy(), consdataCheckNonbinvar(), consdataComputePseudoActivity(), consdataCreate(), consdataGetActivityResiduals(), consdataPrint(), consdataRecomputeMaxActivityDelta(), consdataRecomputeMinactivity(), consdataUpdateLinearActivity(), consFixLinkvar(), constraintNonOverlappingGraph(), coretimesUpdateLb(), coretimesUpdateUb(), countSparseSol(), createCoreProfile(), createCoverCuts(), createCoverCutsTimepoint(), createCoveringProblem(), createNewSol(), createSelectedSortedEventpointsSol(), createSolFromNLP(), createSolFromSubScipSol(), createSortedEventpoints(), createSubscip(), CUTOFF_CONSTRAINT(), cutsRoundMIR(), cutsRoundStrongCG(), cutTightenCoefs(), cutTightenCoefsQuad(), deleteVarCardinality(), determineBestBounds(), doSeachEcAggr(), doSolveSubMIP(), dropEvent(), dropEventBinvar(), dryBranch(), dualBoundStrengthening(), enforceCardinality(), enforceConflictgraph(), enforceConstraint(), enforceIndicators(), enforceSol(), evalCorner(), evaluateGauge(), execRelpscost(), executeBranchingRecursive(), extractCycle(), extractGates(), filterCands(), filterExistingLP(), findBestLb(), findComponents(), findLexMaxFace(), fixAlmostFixedX(), fixAndPropagate(), fixBounds(), fixedgevar(), fixIntegerVariable(), fixIntegerVariableLb(), fixInterdiction(), fixVariable(), fixVariableZero(), fixVariableZeroNode(), forbidCover(), generate1ConvexIndefiniteUnderestimator(), generate1ConvexIndefiniteUnderestimatorAtBoundary(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateAverageNBRay(), generateBoundInequalityFromSOS1Cons(), generateBoundInequalityFromSOS1Nodes(), generateCloseCutPoint(), generateConvexConcaveUnderestimator(), generateCut(), generateCutFactorable(), generateCutLTI(), generateCutNonConvex(), generateCutSol(), generateEstimatingHyperplane(), generateLinearizationCut(), generateOrthogonal_lx_ly_Underestimator(), generateOrthogonal_lx_uy_Underestimator(), generateRowCardinality(), generateRowSOS2(), generateSecantCut(), generateUnderestimatorParallelYFacets(), generateZerohalfCut(), getBoundConsFromVertices(), getClosestVub(), getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), getFixingValue(), getGenVBoundsMinActivity(), getGenVBoundsMinActivityConflict(), getImplVarRedcost(), getIneqViol(), getMaxactImplicObjchg(), getNLPFracVars(), getRandomVariable(), getRelDistance(), getValueScore(), handle1Cycle(), handleNewVariableCardinality(), handleNewVariableSOS1(), handleNewVariableSOS2(), heurdataUpdateCurrentBounds(), heurExec(), impliesVlbPrecedenceCondition(), improvePoint(), inferboundsEdgeFinding(), inferVariableZero(), initConflictgraph(), initializeSol(), initLP(), initProblem(), initSepaData(), isConvexLocal(), isPossibleToComputeCut(), isPseudocostUpdateValid(), isViolatedSOS1(), liftCliqueVariables(), lpUpdateVarColumn(), lpUpdateVarColumnProved(), lpUpdateVarLoose(), lpUpdateVarLooseProved(), makeSOS1conflictgraphFeasible(), makeSOS1constraintsFeasible(), nlpCalcFracVars(), nlpFlushVarAdditions(), nlpSolve(), nlpUpdateVarBounds(), nlrowCalcActivityBounds(), nodeGetSolvalBinaryBigMSOS1(), nodeGetSolvalVarboundLbSOS1(), performBranching(), performDualfix(), performFixing(), performOrbitalFixing(), performRandRounding(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), preprocessCliques(), presolRoundCardinality(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), presolRoundVarsSOS1(), presolveConsEst(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), presolveFindDuplicates(), presolvePropagateCons(), presolveUpgrade(), printBoundSection(), processBinvarFixings(), processFixings(), processRealBoundChg(), processWatchedVars(), projectVbd(), propagateBoundsBilinearTerm(), propagateBoundsCons(), propagateBoundsGetQuadActivity(), propagateBoundsQuadVar(), propagateBoundsTightenVar(), propagateBoundsTightenVarLb(), propagateCons(), propagateCutoffboundBinvars(), propagateCutoffboundVar(), propagateFullOrbitopeCons(), propagateLbTTEF(), propagatePackingPartitioningCons(), propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), propagateTimetable(), propagateTTEF(), propagateUbTTEF(), propagateVbounds(), propCardinality(), propConsSOS1(), propIndicator(), proposeBranchingPoint(), propSOS2(), propVariableNonzero(), propVariables(), recomputeLooseObjectiveValue(), recomputePseudoObjectiveValue(), redbasedVarfixing(), registerBranchingCandidates(), registerBranchingCandidatesCentrality(), registerBranchingCandidatesGap(), registerBranchingCandidatesViolation(), registerBranchingVariables(), registerLargeRelaxValueVariableForBranching(), removeZeros(), removeZerosQuad(), reoptCheckLocalRestart(), reoptSimilarity(), replaceByLinearConstraints(), replaceViolatedByLinearConstraints(), resolveGenVBoundPropagation(), retransformVariable(), rowCalculateGauss(), rowprepCleanupImproveCoefrange(), rowprepCleanupIntegralCoefs(), sampleRandomPoints(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSENFORELAX(), SCIP_DECL_CONSGETDIVEBDCHGS(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSTRANS(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPRGRAPHVARADDED(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SORTINDCOMP(), SCIPaddConflictBinvar(), SCIPaggrRowCancelVarWithBound(), SCIPanalyzeDeductionsProbing(), SCIPapplyLockFixings(), SCIPapplyProbingVar(), SCIPbendersSetupSubproblem(), SCIPbranchcandAddExternCand(), SCIPbranchcandGetPseudoCands(), SCIPbranchcandUpdateVar(), SCIPbranchExecExtern(), SCIPbranchExecLP(), SCIPbranchExecPseudo(), SCIPbranchGetBranchingPoint(), SCIPbranchVar(), SCIPbranchVarVal(), SCIPbranchVarValNary(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarLbNode(), SCIPchgVarLbProbing(), SCIPcolCreate(), SCIPcomputeConvexEnvelopeFacet(), SCIPcomputeVarLbLocal(), SCIPconflictAnalyzePseudo(), SCIPconflictAnalyzeStrongbranch(), SCIPcreateNlpiProb(), SCIPcreateWorstCaseProfile(), SCIPcutGenerationHeuristicCMIR(), SCIPcutsTightenCoefficients(), SCIPevalExprtreeLocalBounds(), SCIPfixVar(), SCIPfixVarProbing(), SCIPgetVarLbAtIndex(), SCIPgetVarStrongbranchWithPropagation(), SCIPgetVarWasFixedAtIndex(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPisLinearLocalQuadratic(), SCIPlpEndDive(), SCIPlpRecomputeLocalAndGlobalPseudoObjval(), SCIPlpStartDive(), SCIPlpUpdateVarObj(), SCIPlpUpdateVarUb(), SCIPmakeIndicatorFeasible(), SCIPnlpEndDive(), SCIPnodeAddBoundinfer(), SCIPnodeAddHoleinfer(), SCIPnodePropagateImplics(), SCIPperformGenericDivingAlgorithm(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreAddProbVars(), SCIPpricestoreAddVar(), SCIPpricestoreResetBounds(), SCIPprobUpdateBestRootSol(), SCIPreoptnodeAddCons(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPseparateRelaxedKnapsack(), SCIPsetBinaryVarIndicator(), SCIPsnprintfProbingStats(), SCIPsolGetRayVal(), SCIPsolGetVal(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPupdateNlpiProb(), SCIPvarAddHoleLocal(), SCIPvarChgLbGlobal(), SCIPvarCopy(), SCIPvarGetImplRedcost(), SCIPvarGetLbAtIndex(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetNLPSol_rec(), SCIPvarGetRelaxSol(), SCIPvarGetWorstBoundGlobal(), SCIPvarPrint(), SCIPvarWasFixedAtIndex(), SCIPvisualCutoffNode(), SCIPvisualNewChild(), SCIPvisualSolvedNode(), SCIPvisualUpdateChild(), SCIPwriteGms(), SCIPwriteLp(), SCIPwritePip(), selectBranchVar(), selectNextDiving(), selectVarRecursive(), separateCons(), separateCuts(), separatePerspective(), sepastoreApplyLb(), sepastoreApplyUb(), sepastoreIsBdchgApplicable(), setRedcosts(), setupAggregationData(), setupAndSolveFiniteSolSubscip(), solveAndEvalSubscip(), solveCumulative(), solveIndependentCons(), solveNlp(), solveNLP(), solveNode(), solveSubproblem(), sortBounds(), strengthenOrbitopeConstraint(), termIsConstant(), tightenBounds(), tightenCoefs(), tightenedLinkvar(), tightenSingleVar(), tightenUbTTEF(), tightenVariables(), tightenVarLb(), tightenVarsBoundsSOS1(), tightenVarUb(), transformNonIntegralRow(), transformVariable(), translateSubSol(), treeApplyPendingBdchgs(), tryOneOpt(), trySolCandidate(), updateBestCandidate(), updateBilinearRelaxation(), updateFirstRow(), updateImplicationGraphSOS1(), updatePseudocost(), updateVariableRounding(), updateWeightsTCliquegraph(), varIsFixed(), varIsUnfixedLocal(), varProcessAddHoleLocal(), varProcessBoundChanges(), writeFzn(), writeOpbFixedVars(), and writeOpbRelevantAnds().

◆ SCIPvarGetUbLocal()

SCIP_EXPORT SCIP_Real SCIPvarGetUbLocal ( SCIP_VAR var)

gets current upper bound of variable

Parameters
varproblem variable

Definition at line 17728 of file var.c.

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

Referenced by addBilinearTermToCut(), addBoundViolated(), addBranchingComplementaritiesSOS1(), addCand(), addCliqueDataEntry(), addConcaveEstimatorBivariate(), addConcaveEstimatorMultivariate(), addConcaveEstimatorUnivariate(), addConflictReasonVars(), addFacetToCut(), addFixedVarsConss(), addIntervalGradientEstimator(), addLinearTermToCut(), addRelaxation(), addSplitcons(), addUserEstimator(), analyseInfeasibelCoreInsertion(), analyzeConflictLowerbound(), analyzeConflictOne(), analyzeConflictZero(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), analyzeZeroResultant(), applyAlternativeBoundsBranching(), applyAlternativeBoundsFixing(), applyBdchgs(), applyBoundHeur(), applyCliqueFixings(), applyGenVBound(), applyNlobbt(), applyOptcumulative(), applyOptcumulativeFixings(), applyProbing(), applyProbingVar(), applyVboundsFixings(), branch(), branchBalancedCardinality(), branchcandCalcLPCands(), branchruledataUpdateCurrentBounds(), branchUnbalancedCardinality(), buildMod2Matrix(), calcBranchScore(), calculateAlternatives(), catchEvent(), catchEventBinvar(), changeAncestorBranchings(), checkBounddisjunction(), checkCounters(), checkForOverlapping(), checkIISlocal(), checkKnapsack(), checkOverloadViaThetaTree(), checkRikun(), checkSetupTolerances(), checkSolution(), checkSwitchNonoverlappingSOS1Methods(), checkVarbound(), checkVariable(), chgCoeffWithBound(), chgProbingBound(), chgQuadCoeffWithBound(), chooseCoefVar(), chooseDoubleVar(), chooseFracVar(), chooseGuidedVar(), choosePscostVar(), chooseVeclenVar(), collectActivities(), collectBranchingCands(), collectCliqueData(), collectDataTTEF(), collectIntVars(), collectSolActivities(), collectSolution(), COLORprobPrintStableSet(), COLORprobPrintStableSets(), componentSetupWorkingSol(), computeAlternativeBounds(), computeCut(), computeEnergyContribution(), computeImpliedEst(), computeImpliedLct(), computeInteriorPoint(), computeMinDistance(), computeReferencePointGauge(), computeReferencePointProjection(), computeStandardLPOptimalityCut(), computeSymmetryGroup(), computeViolation(), conflictAnalyzeLP(), conflictAnalyzeRemainingBdchgs(), consCheckRedundancy(), consdataCheck(), consdataCheckNonbinvar(), consdataComputePseudoActivity(), consdataCreate(), consdataGetActivityResiduals(), consdataPrint(), consdataRecomputeMaxActivityDelta(), consdataRecomputeMinactivity(), consdataUpdateLinearActivity(), consFixLinkvar(), constraintNonOverlappingGraph(), coretimesUpdateLb(), coretimesUpdateUb(), countSparseSol(), createCoreProfile(), createCoverCuts(), createCoverCutsTimepoint(), createCoveringProblem(), createNewSol(), createSelectedSortedEventpointsSol(), createSolFromNLP(), createSolFromSubScipSol(), createSortedEventpoints(), createSubscip(), CUTOFF_CONSTRAINT(), cutsRoundMIR(), cutsRoundStrongCG(), cutTightenCoefs(), cutTightenCoefsQuad(), determineBestBounds(), doSeachEcAggr(), doSolveSubMIP(), dropEvent(), dropEventBinvar(), dryBranch(), dualBoundStrengthening(), enforceCardinality(), enforceConflictgraph(), enforceIndicators(), enforceSol(), evalCorner(), evaluateGauge(), execRelpscost(), executeBranchingRecursive(), extractCycle(), extractGates(), filterCands(), filterExistingLP(), findBestUb(), findComponents(), findLexMinFace(), fixAlmostFixedX(), fixAndPropagate(), fixBounds(), fixedgevar(), fixIntegerVariable(), fixIntegerVariableUb(), fixInterdiction(), fixVariable(), fixVariableZero(), fixVariableZeroNode(), generate1ConvexIndefiniteUnderestimator(), generate1ConvexIndefiniteUnderestimatorAtBoundary(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateAverageNBRay(), generateBoundInequalityFromSOS1Cons(), generateBoundInequalityFromSOS1Nodes(), generateCloseCutPoint(), generateConvexConcaveUnderestimator(), generateCut(), generateCutFactorable(), generateCutLTI(), generateCutNonConvex(), generateCutSol(), generateEstimatingHyperplane(), generateLinearizationCut(), generateOrthogonal_lx_ly_Underestimator(), generateOrthogonal_lx_uy_Underestimator(), generateRowSOS2(), generateSecantCut(), generateUnderestimatorParallelYFacets(), generateZerohalfCut(), getBoundConsFromVertices(), getClosestVlb(), getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), getFixingValue(), getGenVBoundsMinActivity(), getGenVBoundsMinActivityConflict(), getImplVarRedcost(), getIneqViol(), getMaxactImplicObjchg(), getNLPFracVars(), getRandomVariable(), getRelDistance(), getValueScore(), handle1Cycle(), handleNewVariableSOS1(), handleNewVariableSOS2(), ObjPricerVRP::have_edge(), heurdataUpdateCurrentBounds(), heurExec(), impliesVlbPrecedenceCondition(), improvePoint(), inferboundsEdgeFinding(), inferVariableZero(), initConflictgraph(), initLP(), initProblem(), initSepaData(), isConvexLocal(), isPossibleToComputeCut(), isPseudocostUpdateValid(), isViolatedSOS1(), liftCliqueVariables(), lpUpdateVarColumn(), lpUpdateVarColumnProved(), lpUpdateVarLoose(), lpUpdateVarLooseProved(), makeSOS1conflictgraphFeasible(), makeSOS1constraintsFeasible(), nlpCalcFracVars(), nlpFlushVarAdditions(), nlpSolve(), nlpUpdateVarBounds(), nlrowCalcActivityBounds(), nodeGetSolvalBinaryBigMSOS1(), nodeGetSolvalVarboundUbSOS1(), performBranching(), performDualfix(), performFixing(), performOrbitalFixing(), performRandRounding(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), preprocessCliques(), presolRoundCardinality(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), presolRoundVarsSOS1(), presolveConsLct(), presolveFindDuplicates(), presolvePropagateCons(), presolveUpgrade(), printBoundSection(), processBinvarFixings(), processFixings(), processRealBoundChg(), processWatchedVars(), projectVbd(), propagateBoundsBilinearTerm(), propagateBoundsCons(), propagateBoundsGetQuadActivity(), propagateBoundsQuadVar(), propagateBoundsTightenVar(), propagateBoundsTightenVarUb(), propagateCons(), propagateCutoffboundBinvars(), propagateCutoffboundVar(), propagateFullOrbitopeCons(), propagateLbTTEF(), propagatePackingPartitioningCons(), propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), propagateTimetable(), propagateTTEF(), propagateUbTTEF(), propagateVbounds(), propCardinality(), propConsSOS1(), propIndicator(), proposeBranchingPoint(), propSOS2(), propVariableNonzero(), propVariables(), recomputeLooseObjectiveValue(), recomputePseudoObjectiveValue(), redbasedVarfixing(), reduce_boundHopRc(), registerBranchingCandidates(), registerBranchingCandidatesCentrality(), registerBranchingCandidatesGap(), registerBranchingCandidatesViolation(), registerBranchingVariables(), registerLargeRelaxValueVariableForBranching(), removeFixedBinvars(), removeZeros(), removeZerosQuad(), reoptCheckLocalRestart(), reoptSimilarity(), replaceByLinearConstraints(), replaceViolatedByLinearConstraints(), resolveGenVBoundPropagation(), retransformVariable(), rowCalculateGauss(), rowprepCleanupImproveCoefrange(), rowprepCleanupIntegralCoefs(), sampleRandomPoints(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSENFORELAX(), SCIP_DECL_CONSGETDIVEBDCHGS(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_CONSTRANS(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPRGRAPHVARADDED(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRICERFARKAS(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SORTINDCOMP(), SCIPaddConflictBinvar(), SCIPaggrRowCancelVarWithBound(), SCIPanalyzeDeductionsProbing(), SCIPapplyLockFixings(), SCIPapplyProbingVar(), SCIPbendersSetupSubproblem(), SCIPbranchcandAddExternCand(), SCIPbranchcandGetPseudoCands(), SCIPbranchcandUpdateVar(), SCIPbranchExecExtern(), SCIPbranchExecLP(), SCIPbranchExecPseudo(), SCIPbranchGetBranchingPoint(), SCIPbranchVar(), SCIPbranchVarVal(), SCIPbranchVarValNary(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPchgVarUbNode(), SCIPchgVarUbProbing(), SCIPcolCreate(), SCIPcomputeConvexEnvelopeFacet(), SCIPcomputeVarUbLocal(), SCIPconflictAnalyzePseudo(), SCIPconflictAnalyzeStrongbranch(), SCIPcreateNlpiProb(), SCIPcreateWorstCaseProfile(), SCIPcutGenerationHeuristicCMIR(), SCIPcutsTightenCoefficients(), SCIPevalExprtreeLocalBounds(), SCIPfixVar(), SCIPfixVarProbing(), SCIPgetVarStrongbranchWithPropagation(), SCIPgetVarUbAtIndex(), SCIPgetVarWasFixedAtIndex(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPisLinearLocalQuadratic(), SCIPlpEndDive(), SCIPlpRecomputeLocalAndGlobalPseudoObjval(), SCIPlpStartDive(), SCIPlpUpdateVarLb(), SCIPlpUpdateVarObj(), SCIPnlpEndDive(), SCIPnodeAddBoundinfer(), SCIPnodeAddHoleinfer(), SCIPnodePropagateImplics(), SCIPperformGenericDivingAlgorithm(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreAddProbVars(), SCIPpricestoreAddVar(), SCIPpricestoreResetBounds(), SCIPprobUpdateBestRootSol(), SCIPreoptnodeAddCons(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPseparateRelaxedKnapsack(), SCIPsnprintfProbingStats(), SCIPsolGetRayVal(), SCIPsolGetVal(), SCIPStpHeurPruneRun(), SCIPStpHeurSlackPruneRun(), SCIPStpHeurSlackPruneRunPcMw(), SCIPStpHeurTMRunLP(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPupdateNlpiProb(), SCIPvarAddHoleLocal(), SCIPvarChgUbGlobal(), SCIPvarCopy(), SCIPvarGetImplRedcost(), SCIPvarGetLbLocal(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetNLPSol_rec(), SCIPvarGetRelaxSol(), SCIPvarGetUbAtIndex(), SCIPvarPrint(), SCIPvarWasFixedAtIndex(), SCIPvisualCutoffNode(), SCIPvisualNewChild(), SCIPvisualSolvedNode(), SCIPvisualUpdateChild(), SCIPwriteGms(), SCIPwriteLp(), SCIPwritePip(), selectBranchVar(), selectNextDiving(), selectVarRecursive(), sep_2cut(), separateCons(), separateCuts(), separateIndicators(), separatePerspective(), sepastoreApplyLb(), sepastoreApplyUb(), sepastoreIsBdchgApplicable(), setRedcosts(), setupAggregationData(), setupAndSolveFiniteSolSubscip(), solveAndEvalSubscip(), solveCumulative(), solveIndependentCons(), solveNlp(), solveNLP(), solveNode(), solveSubproblem(), sortBounds(), strengthenOrbitopeConstraint(), termIsConstant(), tightenBounds(), tightenCoefs(), tightenedLinkvar(), tightenLbTTEF(), tightenSingleVar(), tightenVariables(), tightenVarLb(), tightenVarsBoundsSOS1(), tightenVarUb(), transformNonIntegralRow(), transformVariable(), translateSubSol(), treeApplyPendingBdchgs(), tryOneOpt(), trySolCandidate(), updateBestCandidate(), updateBilinearRelaxation(), updateFirstRow(), updateImplicationGraphSOS1(), updatePseudocost(), updateVariableRounding(), updateWeightsTCliquegraph(), varIsFixed(), varIsUnfixedLocal(), varProcessAddHoleLocal(), varProcessBoundChanges(), writeFzn(), writeOpbFixedVars(), and writeOpbRelevantAnds().

◆ SCIPvarGetHolelistLocal()

SCIP_EXPORT SCIP_HOLELIST* SCIPvarGetHolelistLocal ( SCIP_VAR var)

gets the current hole list of an active variable

Parameters
varproblem variable

Definition at line 17738 of file var.c.

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

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

◆ SCIPvarGetBestBoundLocal()

SCIP_EXPORT SCIP_Real SCIPvarGetBestBoundLocal ( SCIP_VAR var)

◆ SCIPvarGetWorstBoundLocal()

SCIP_EXPORT SCIP_Real SCIPvarGetWorstBoundLocal ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17761 of file var.c.

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

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

◆ SCIPvarGetBestBoundType()

◆ SCIPvarGetWorstBoundType()

SCIP_EXPORT 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 17787 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_EXPORT 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 17800 of file var.c.

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

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

◆ SCIPvarGetUbLazy()

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

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

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

◆ SCIPvarGetBranchFactor()

SCIP_EXPORT 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 17822 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_EXPORT SCIP_BRANCHDIR SCIPvarGetBranchDirection ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17844 of file var.c.

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

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

◆ SCIPvarGetNVlbs()

◆ SCIPvarGetVlbVars()

SCIP_EXPORT SCIP_VAR** SCIPvarGetVlbVars ( SCIP_VAR var)

◆ SCIPvarGetVlbCoefs()

◆ SCIPvarGetVlbConstants()

◆ SCIPvarGetNVubs()

◆ SCIPvarGetVubVars()

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

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

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

◆ SCIPvarGetVubCoefs()

◆ SCIPvarGetVubConstants()

◆ SCIPvarGetNImpls()

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

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

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

◆ SCIPvarGetImplVars()

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

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

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

◆ SCIPvarGetImplTypes()

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

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

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

◆ SCIPvarGetImplBounds()

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

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

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

◆ SCIPvarGetImplIds()

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

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

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

◆ SCIPvarGetNCliques()

◆ SCIPvarGetCliques()

◆ SCIPvarGetLPSol()

◆ SCIPvarGetNLPSol()

◆ SCIPvarGetBdchgInfoLb()

SCIP_EXPORT SCIP_BDCHGINFO* SCIPvarGetBdchgInfoLb ( SCIP_VAR var,
int  pos 
)

return lower bound change info at requested position

Parameters
varproblem variable
posrequested position

Definition at line 18062 of file var.c.

References SCIP_Var::lbchginfos, and SCIPvarGetNBdchgInfosLb().

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

◆ SCIPvarGetNBdchgInfosLb()

SCIP_EXPORT int SCIPvarGetNBdchgInfosLb ( SCIP_VAR var)

gets the number of lower bound change info array

Parameters
varproblem variable

Definition at line 18074 of file var.c.

References SCIP_Var::nlbchginfos, and SCIPvarGetBdchgInfoUb().

Referenced by SCIPvarGetBdchgInfoLb(), and updatePseudocost().

◆ SCIPvarGetBdchgInfoUb()

SCIP_EXPORT SCIP_BDCHGINFO* SCIPvarGetBdchgInfoUb ( SCIP_VAR var,
int  pos 
)

return upper bound change info at requested position

Parameters
varproblem variable
posrequested position

Definition at line 18082 of file var.c.

References SCIPvarGetNBdchgInfosUb(), and SCIP_Var::ubchginfos.

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

◆ SCIPvarGetNBdchgInfosUb()

SCIP_EXPORT int SCIPvarGetNBdchgInfosUb ( SCIP_VAR var)

gets the number upper bound change info array

Parameters
varproblem variable

Definition at line 18094 of file var.c.

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

Referenced by SCIPvarGetBdchgInfoUb(), and updatePseudocost().

◆ SCIPvarGetValuehistory()

SCIP_EXPORT SCIP_VALUEHISTORY* SCIPvarGetValuehistory ( SCIP_VAR var)

returns the value based history for the variable

Parameters
varproblem variable

Definition at line 18104 of file var.c.

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

Referenced by getValueScore(), and SCIPvarGetNBdchgInfosUb().

◆ SCIPvarIsRelaxationOnly()

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

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

Referenced by copyCuts(), copyVars(), createAndAddProofcons(), determineVariableFixings(), SCIPcopyConsLinear(), SCIPcreateConsLinear(), SCIPgenVBoundAdd(), SCIPgetVarCopy(), and SCIPvarIsMarkedDeleteGlobalStructures().

◆ SCIPvarMarkRelaxationOnly()

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

See also
SCIPvarIsRelaxationOnly
Parameters
varproblem variable

Definition at line 17314 of file var.c.

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

Referenced by createObjRow(), and SCIPvarIsRelaxationOnly().

◆ SCIPvarGetLPSol_rec()

◆ SCIPvarGetNLPSol_rec()

◆ SCIPvarGetPseudoSol()

SCIP_EXPORT 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 18114 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()

◆ SCIPvarGetRootSol()

◆ SCIPvarGetBestRootSol()

◆ SCIPvarGetBestRootRedcost()

SCIP_EXPORT 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 13544 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_EXPORT 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 13578 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()

SCIP_EXPORT 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 13609 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_EXPORT 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 16170 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_EXPORT 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 16226 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_EXPORT 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 16282 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_EXPORT SCIP_Real SCIPvarGetLbAtIndex ( SCIP_VAR var,
SCIP_BDCHGIDX bdchgidx,
SCIP_Bool  after 
)

◆ SCIPvarGetUbAtIndex()

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

◆ SCIPvarGetBdAtIndex()

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

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

Referenced by SCIPvarGetUbAtIndex().

◆ SCIPvarWasFixedAtIndex()

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

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

Referenced by SCIPvarGetBdAtIndex().

◆ SCIPvarGetLastBdchgIndex()

SCIP_EXPORT SCIP_BDCHGIDX* SCIPvarGetLastBdchgIndex ( SCIP_VAR var)

◆ SCIPvarGetLastBdchgDepth()

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

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

Referenced by SCIPvarGetLastBdchgIndex().

◆ SCIPvarWasFixedEarlier()

SCIP_EXPORT 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 16711 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_EXPORT 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 18224 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_EXPORT 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 18204 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_EXPORT SCIP_Real SCIPbdchginfoGetOldbound ( SCIP_BDCHGINFO bdchginfo)

returns old bound that was overwritten for given bound change information

Parameters
bdchginfobound change information

Definition at line 18244 of file var.c.

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

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

◆ SCIPbdchginfoGetNewbound()

◆ SCIPbdchginfoGetVar()

◆ SCIPbdchginfoGetChgtype()

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

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

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

◆ SCIPbdchginfoGetBoundtype()

◆ SCIPbdchginfoGetDepth()

◆ SCIPbdchginfoGetPos()

SCIP_EXPORT 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 18304 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_EXPORT SCIP_BDCHGIDX* SCIPbdchginfoGetIdx ( SCIP_BDCHGINFO bdchginfo)

returns bound change index of given bound change information

Parameters
bdchginfobound change information

Definition at line 18314 of file var.c.

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

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

◆ SCIPbdchginfoGetInferVar()

SCIP_EXPORT SCIP_VAR* SCIPbdchginfoGetInferVar ( SCIP_BDCHGINFO bdchginfo)

returns inference variable of given bound change information

Parameters
bdchginfobound change information

Definition at line 18324 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_EXPORT SCIP_CONS* SCIPbdchginfoGetInferCons ( SCIP_BDCHGINFO bdchginfo)

returns inference constraint of given bound change information

Parameters
bdchginfobound change information

Definition at line 18336 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_EXPORT 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 18348 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()

SCIP_EXPORT int SCIPbdchginfoGetInferInfo ( SCIP_BDCHGINFO bdchginfo)

returns inference user information of given bound change information

Parameters
bdchginfobound change information

Definition at line 18359 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_EXPORT SCIP_BOUNDTYPE SCIPbdchginfoGetInferBoundtype ( SCIP_BDCHGINFO bdchginfo)

returns inference bound of inference variable of given bound change information

Parameters
bdchginfobound change information

Definition at line 18371 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_EXPORT 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 18403 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_EXPORT 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 18417 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_EXPORT 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 16909 of file var.c.

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

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

◆ SCIPboundchgGetVar()

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

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

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

◆ SCIPboundchgGetBoundchgtype()

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

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

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

◆ SCIPboundchgGetBoundtype()

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

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

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

◆ SCIPboundchgIsRedundant()

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

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

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

◆ SCIPdomchgGetNBoundchgs()

SCIP_EXPORT int SCIPdomchgGetNBoundchgs ( SCIP_DOMCHG domchg)

returns the number of bound changes in the domain change data

Parameters
domchgdomain change data

Definition at line 16959 of file var.c.

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

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

◆ SCIPdomchgGetBoundchg()

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

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

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

◆ SCIPholelistGetLeft()

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

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

Referenced by printHolelist(), and SCIPdomchgGetBoundchg().

◆ SCIPholelistGetRight()

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

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

Referenced by printHolelist(), and SCIPholelistGetLeft().

◆ SCIPholelistGetNext()

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

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

Referenced by printHolelist(), and SCIPholelistGetRight().

◆ SCIPcreateVar()

SCIP_EXPORT 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 105 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(), createCoveringProblem(), createMipCpFormulation(), createObjRow(), createRelaxation(), createSubSCIP(), createSubscip(), createVariable(), disaggregate(), execmain(), getScenarioDecompVar(), getVariable(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), presolveCreateOuterApprox(), presolveDisaggregate(), presolveFindDuplicates(), presolveTryAddAND(), presolveTryAddLinearReform(), scipexamples::QueensSolver::QueensSolver(), readBounds(), readCnf(), readCols(), readColsMop(), readIndicators(), readLIBSVM(), readNonlinearExprs(), readObjective(), readQMatrix(), readQuadraticCoefs(), readVariables(), reformMonomial(), reformNode2Var(), reformulate(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_NONLINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRICERFARKAS(), SCIP_DECL_PRICERREDCOST(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_READERREAD(), SCIPcreateConsCardinality(), SCIPcreateConsIndicator(), SCIPcreateObjVar(), SCIPcreateSchedulingProblem(), SCIPcreateVarBasic(), SCIPtransformMinUC(), setObjective(), setupAndSolveFiniteSolSubscip(), solveClassification(), solveMinIISC(), and tightenCoefs().

◆ SCIPcreateVarBasic()

SCIP_EXPORT 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 185 of file scip_var.c.

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

Referenced by addAuxiliaryVariablesToMaster(), addSlackVars(), addVariable(), applyRepair(), polyscip::Polyscip::computeNondomPoints(), createCipFormulation(), createConstraints(), createKKTComplementarityBinary(), createKKTComplementarityBounds(), createKKTComplementarityLinear(), createKKTDualCons(), createMasterproblem(), createMIP(), createMipFormulation(), createOriginalproblem(), createPatternVars(), createProbQP(), createSubproblem(), createSubproblems(), createVariables(), infinityCountUpdate(), initPricing(), presolveAddKKTLinearCons(), pricing(), readObjective(), SCIP_DECL_HEUREXEC(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_SOLVECUMULATIVE(), SCIPaddTrustregionNeighborhoodConstraint(), SCIPbendersMergeSubproblemIntoMaster(), SCIPcreateVarBinpacking(), SCIPprobdataAddNewSol(), SCIPverifyCircularPatternNLP(), setupAndSolveCumulativeSubscip(), setupProblem(), and solvePricingMINLP().

◆ SCIPwriteVarName()

SCIP_EXPORT 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 221 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_EXPORT 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 283 of file scip_var.c.

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

Referenced by consdataPrint().

◆ SCIPwriteVarsLinearsum()

SCIP_EXPORT 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 334 of file scip_var.c.

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

Referenced by consdataPrint().

◆ SCIPwriteVarsPolynomial()

SCIP_EXPORT 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 monomials as polynomial 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 395 of file scip_var.c.

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

Referenced by SCIP_DECL_CONSPRINT().

◆ SCIPparseVar()

SCIP_EXPORT 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 465 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_EXPORT 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 524 of file scip_var.c.

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

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

◆ SCIPparseVarsList()

SCIP_EXPORT 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 601 of file scip_var.c.

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

Referenced by SCIP_DECL_CONSPARSE().

◆ SCIPparseVarsLinearsum()

SCIP_EXPORT 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 700 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_EXPORT 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 polynomial 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:
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 810 of file scip_var.c.

References FALSE, NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_READERROR, SCIP_Real, SCIPcalcMemGrowSize(), SCIPcheckStage(), SCIPdebugMsg, SCIPduplicateBufferArray, SCIPerrorMessage, SCIPfreeBufferArrayNull, SCIPfreeParseVarsPolynomialData(), SCIPparseVarName(), SCIPreallocBufferArray, SCIPstrToRealValue(), and TRUE.

Referenced by SCIP_DECL_CONSPARSE(), and SCIPparseVarsLinearsum().

◆ SCIPfreeParseVarsPolynomialData()

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

frees memory allocated when parsing a polynomial from 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:
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 1162 of file scip_var.c.

References FALSE, NULL, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPfreeBufferArray, SCIPfreeBufferArrayNull, and TRUE.

Referenced by SCIP_DECL_CONSPARSE(), SCIPparseVarsLinearsum(), and SCIPparseVarsPolynomial().

◆ SCIPcaptureVar()

SCIP_EXPORT 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 1218 of file scip_var.c.

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

Referenced by addAuxiliaryVariablesToMaster(), addCoef(), addLinearCoef(), addQuadVarTerm(), applyFixings(), applyProbing(), assignAuxiliaryVariables(), computeConsAndDataChanges(), consdataCreate(), correctPresoldata(), createAndAddAndCons(), createMasterVarMapping(), createPresoldata(), createSubSCIP(), createVariableMappings(), determineSymmetry(), objimplicsCreate(), presolRoundIndicator(), presolveRemoveFixedVariables(), propdataInit(), replaceQuadVarTermPos(), tsp::ProbDataTSP::scip_copy(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSTRANS(), SCIP_DECL_EXPRGRAPHVARADDED(), SCIP_DECL_PROBCOPY(), tsp::ProbDataTSP::scip_trans(), SCIPcreateConsIndicatorLinCons(), SCIPcreateConsPseudobooleanWithConss(), SCIPcreateConsSOC(), SCIPgenVBoundAdd(), SCIPprobdataAddVar(), setIntvar(), and tcliquegraphAddNode().

◆ SCIPreleaseVar()

SCIP_EXPORT 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 1252 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(), cleanupHashDatas(), computeCoverUndercover(), polyscip::Polyscip::computeNondomPoints(), consdataFree(), correctConshdlrdata(), createAndAddAndCons(), createCipFormulation(), createInitialColumns(), createKKTComplementarityBinary(), createKKTComplementarityBounds(), createKKTComplementarityLinear(), createKKTDualCons(), createMipCpFormulation(), createMipFormulation(), createOriginalproblem(), createProbQP(), createSubproblem(), createSubproblems(), createSubSCIP(), createVariable(), delCoefPos(), delLinearCoefPos(), delQuadVarTermPos(), disaggregate(), doSeachEcAggr(), execmain(), freeGenVBound(), freeGenVBounds(), freeSortedvars(), freeSubSCIP(), freeSubscip(), freeSymmetryData(), getFixedVariable(), getVariable(), infinityCountUpdate(), initPricing(), presolRoundIndicator(), presolveAddKKTLinearCons(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), presolveCreateOuterApprox(), presolveDisaggregate(), presolveFindDuplicates(), presolveRemoveFixedVariables(), presolveTryAddAND(), presolveTryAddLinearReform(), probdataFree(), propdataExit(), readBounds(), readCnf(), readCols(), readColsMop(), readIndicators(), readLIBSVM(), readNonlinearExprs(), readObjective(), readQMatrix(), readQuadraticCoefs(), reformMonomial(), reformNode2Var(), reformulate(), releaseHashmapEntries(), releaseVarMappingHashmapVars(), replaceQuadVarTermPos(), runBrachistochrone(), runPacking(), SCIP_DECL_BENDERSEXIT(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSEXIT(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_EXPRGRAPHVARREMOVE(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_NONLINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRICERREDCOST(), SCIP_DECL_PROBDELORIG(), SCIP_DECL_PROBDELTRANS(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_READERREAD(), SCIP_DECL_SEPAEXIT(), SCIP_DECL_SOLVECUMULATIVE(), tsp::ProbDataTSP::scip_delorig(), tsp::ProbDataTSP::scip_deltrans(), SCIPaddTrustregionNeighborhoodConstraint(), SCIPapplyUndercover(), SCIPbendersExit(), SCIPbendersMergeSubproblemIntoMaster(), SCIPcreateConsCardinality(), SCIPcreateSchedulingProblem(), SCIPgenVBoundAdd(), SCIPgetVarCopy(), SCIPprobdataAddNewSol(), SCIPtransformMinUC(), SCIPverifyCircularPatternNLP(), setIntvar(), setObjective(), setupAndSolveCumulativeSubscip(), setupAndSolveFiniteSolSubscip(), setupProblem(), solveClassification(), solveMinIISC(), solvePricingMINLP(), tcliquegraphFree(), tightenCoefs(), transformToOrig(), and scipexamples::QueensSolver::~QueensSolver().

◆ SCIPchgVarName()

SCIP_EXPORT 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 1303 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_EXPORT 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 1353 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_EXPORT 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 1393 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_EXPORT 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 1443 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(), addLinearCoef(), addQuadVarTerm(), addVarCardinality(), addVarSOS1(), addVarSOS2(), appendVarCardinality(), appendVarSOS1(), appendVarSOS2(), consdataCreate(), consdataCreateSuperindicator(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSTRANS(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_PRICERINIT(), SCIP_DECL_PROBCOPY(), tsp::ProbDataTSP::scip_trans(), SCIPchgVarType(), SCIPcreateConsCardinality(), SCIPcreateConsSOS1(), SCIPsetBinaryVarIndicator(), and setIntvar().

◆ SCIPgetTransformedVars()

SCIP_EXPORT 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 1484 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(), SCIP_DECL_CONSTRANS(), and SCIPgetExprtreeTransformedVars().

◆ SCIPgetNegatedVar()

SCIP_EXPORT 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 1531 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(), consdataLinearize(), createAndAddLinearCons(), createConflict(), createConflictCons(), createCoveringProblem(), createIndicatorConstraint(), createMipCpFormulation(), createNormalizedKnapsack(), createNormalizedLogicor(), createNormalizedSetppc(), createSubSCIP(), CUTOFF_CONSTRAINT(), executeBranchingRecursive(), extendToCover(), extractGates(), fixDeleteOrUpgradeCons(), forbidCover(), forbidFixation(), getBinVarsRepresentatives(), getVariableOrTerm(), printIndicatorCons(), readCnf(), readIndicators(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSPARSE(), SCIP_DECL_LINCONSUPGD(), SCIPcalcNegatedCliquePartition(), SCIPgetBinvarRepresentative(), SCIPgetBinvarRepresentatives(), SCIPgetVarCopy(), SCIPparseVarName(), SCIPseparateRelaxedKnapsack(), SCIPtransformMinUC(), SCIPwriteVarName(), tcliquegraphAddNode(), upgradeCons(), and upgradeConss().

◆ SCIPgetNegatedVars()

SCIP_EXPORT 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 1564 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_EXPORT 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 1601 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_EXPORT 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 1648 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_EXPORT 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 1697 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(), SCIP_DECL_READERWRITE(), and SCIPgetVarCopy().

◆ SCIPgetProbvarLinearSum()

SCIP_EXPORT 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 1742 of file scip_var.c.

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

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

◆ SCIPgetProbvarSum()

SCIP_EXPORT 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 1798 of file scip_var.c.

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

Referenced by addAltLPConstraint(), addVarbound(), applyFixings(), checkFixedVariables(), createSolFromSubScipSol(), getActiveVar(), initData(), presolRoundCardinality(), presolRoundConsSOS1(), presolRoundSOS2(), presolveRemoveFixedVariables(), removeFixedLinearVariables(), removeFixedVariables(), SCIP_DECL_PARAMCHGD(), and SCIPincludePresolMILP().

◆ SCIPgetActiveVars()

SCIP_EXPORT 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 1834 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_EXPORT 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 1868 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(), SCIP_DECL_HEUREXEC(), SCIPgetDualSolVal(), SCIPgetVarRedcost(), and setRedcosts().

◆ SCIPgetVarImplRedcost()

SCIP_EXPORT 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 1913 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_EXPORT 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 1958 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_EXPORT 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 1996 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_EXPORT 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 2132 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_EXPORT 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 2268 of file scip_var.c.

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

Referenced by conflictResolveBound().

◆ SCIPgetVarWasFixedAtIndex()

SCIP_EXPORT 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 2286 of file scip_var.c.

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

◆ SCIPgetVarSol()

SCIP_EXPORT 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 2311 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(), performBranching(), SCIP_DECL_SEPAEXECLP(), and separateIISRounding().

◆ SCIPgetVarSols()

SCIP_EXPORT 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 2331 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_EXPORT 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 2368 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_EXPORT 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 2418 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_EXPORT 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 2451 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_EXPORT 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 2493 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_EXPORT 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 2541 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_EXPORT 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 2561 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_EXPORT 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 2586 of file scip_var.c.

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

◆ SCIPgetRelaxSolVal()

SCIP_EXPORT 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 2607 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_EXPORT 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 2636 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_EXPORT 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 2659 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_EXPORT 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 2690 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_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_EXPORT 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 2923 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_EXPORT 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 3356 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_EXPORT 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 3666 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_EXPORT 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 3777 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_EXPORT 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 3888 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_EXPORT 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 3992 of file scip_var.c.

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

Referenced by execRelpscost().

◆ SCIPgetVarStrongbranchLast()

SCIP_EXPORT 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 4014 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_EXPORT 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 4048 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_EXPORT 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 4083 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_EXPORT 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 4164 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_EXPORT 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 4198 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()

SCIP_EXPORT 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 4230 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_EXPORT 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 4263 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(), createObjRow(), freeGenVBounds(), presolRoundIndicator(), SCIP_DECL_CONSEXIT(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSLOCK(), SCIP_DECL_EXPRGRAPHVARADDED(), SCIP_DECL_EXPRGRAPHVARREMOVE(), SCIP_DECL_SEPAEXIT(), SCIPaddVarLocks(), and SCIPbendersExit().

◆ SCIPaddVarLocks()

SCIP_EXPORT 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 4321 of file scip_var.c.

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

◆ SCIPlockVarCons()

SCIP_EXPORT 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 4354 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(), checkFixedVariables(), chgLhs(), chgRhs(), lockLinearVariable(), lockQuadraticVariable(), lockRounding(), lockRoundingAndCons(), lockVariableCardinality(), lockVariableSOS2(), preprocessConstraintPairs(), presolRoundIndicator(), presolveFindDuplicates(), presolveRemoveFixedVariables(), SCIP_DECL_EVENTEXEC(), and tightenCoefs().

◆ SCIPunlockVarCons()

SCIP_EXPORT 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:
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 4439 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_TRANSFORMING, SCIPcheckStage(), SCIPconsIsLockedTypeNeg(), SCIPconsIsLockedTypePos(), SCIPerrorMessage, SCIPvarAddLocks(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, and TRUE.

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

◆ SCIPchgVarObj()

SCIP_EXPORT 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 4514 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(), changeSubvariableObjective(), createCoveringProblem(), createProbOnlyEdge(), createProbSimplified(), createProbSimplifiedTest(), createSubproblem(), createSubproblems(), createSubSCIP(), DECL_CHANGESUBSCIP(), getVariable(), infinityCountUpdate(), polyscip::Polyscip::numberofUnboundedResults(), parseSolveItem(), readCnf(), readCols(), readConstraints(), readObjective(), SCIP_DECL_HEUREXEC(), SCIPapplyProximity(), SCIPchgReoptObjective(), SCIPtransformMinUC(), setObjective(), setupAndSolveFiniteSolSubscip(), and setupAndSolveSubscip().

◆ SCIPaddVarObj()

SCIP_EXPORT 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 4563 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().

◆ SCIPadjustedVarLb()

SCIP_EXPORT 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 4614 of file scip_var.c.

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

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

◆ SCIPadjustedVarUb()

SCIP_EXPORT 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 4646 of file scip_var.c.

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

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

◆ SCIPchgVarLb()

SCIP_EXPORT 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 4677 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(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_PRESOLEXEC(), SCIPbendersSetupSubproblem(), SCIPchgVarLbNode(), SCIPendStrongbranch(), SCIPfixVar(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), setupProblem(), and updateAuxiliaryVarLowerbound().

◆ SCIPchgVarUb()

SCIP_EXPORT 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 4767 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 createIndicatorConstraint(), fixedgevar(), generateOddCycleCut(), predBndStr(), propagateCons(), propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), readBinaries(), readBounds(), SCIP_DECL_CONSPROP(), SCIP_DECL_PRESOLEXEC(), SCIPbendersSetupSubproblem(), SCIPchgVarUbNode(), SCIPendStrongbranch(), SCIPfixVar(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPsetSlackVarUb(), setupProblem(), and updateMIP().

◆ SCIPchgVarLbNode()

SCIP_EXPORT 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 4847 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(), performBranching(), and presolveCreateBenTalNemirovskiApproxDim3().

◆ SCIPchgVarUbNode()

SCIP_EXPORT 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 4891 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 performBranching().

◆ SCIPchgVarLbGlobal()

SCIP_EXPORT 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 4943 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_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(), presolveCreateBenTalNemirovskiApproxDim3(), reboundIntegerVariables(), restrictToBinaryBounds(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyProximity(), SCIPresolveSolHeurSubNlp(), and setupAndSolveSubscip().

◆ SCIPchgVarUbGlobal()

SCIP_EXPORT 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 5030 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_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(), globalfixing(), reboundIntegerVariables(), restrictToBinaryBounds(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyProximity(), SCIPresolveSolHeurSubNlp(), and setupAndSolveSubscip().

◆ SCIPchgVarLbLazy()

SCIP_EXPORT 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 enforced by constraints and the objective function; hence, these bounds do not need to be put into the LP 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:
Note
lazy bounds are useful for branch-and-price since the corresponding variable bounds are not part of the LP
Parameters
scipSCIP data structure
varproblem variable
lazylbthe lazy lower bound to be set

Definition at line 5117 of file scip_var.c.

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

◆ SCIPchgVarUbLazy()

SCIP_EXPORT 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 enforced by constraints and the objective function; hence, these bounds do not need to be put into the LP 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:
Note
lazy bounds are useful for branch-and-price since the corresponding variable bounds are not part of the LP
Parameters
scipSCIP data structure
varproblem variable
lazyubthe lazy lower bound to be set

Definition at line 5150 of file scip_var.c.

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

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

◆ SCIPtightenVarLb()

SCIP_EXPORT 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 5184 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_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(), applyBdchgs(), applyFixings(), applyProbing(), applyProbingVar(), checkSystemGF2(), enforceViolatedFixedNonlinear(), extractCycle(), fixAlmostFixedX(), performOrbitalFixing(), preprocessConstraintPairs(), presolveCreateGlineurApproxDim3(), presolveRemoveFixedVariables(), propagateBounds(), propagateBoundsTightenVar(), propagateBoundsTightenVarLb(), propagateCons(), replaceByLinearConstraints(), replaceViolatedByLinearConstraints(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_PRESOLEXEC(), SCIPanalyzeDeductionsProbing(), SCIPincludePresolMILP(), SCIPselectVarStrongBranching(), separateCuts(), setupAndSolveSubscipRapidlearning(), solveAndEvalSubscip(), solveIndependentCons(), solveNlp(), solveSubproblem(), tightenBounds(), tightenVarsBoundsSOS1(), and updateArcData().

◆ SCIPtightenVarUb()

SCIP_EXPORT 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 5301 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(), applyBdchgs(), applyFixings(), applyProbing(), applyProbingVar(), checkSystemGF2(), enforceViolatedFixedNonlinear(), extractCycle(), fixAlmostFixedX(), getCover(), performOrbitalFixing(), preprocessConstraintPairs(), presolveRemoveFixedVariables(), propagateBounds(), propagateBoundsTightenVar(), propagateBoundsTightenVarUb(), propagateCons(), replaceByLinearConstraints(), replaceViolatedByLinearConstraints(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_PRESOLEXEC(), SCIPanalyzeDeductionsProbing(), SCIPincludePresolMILP(), SCIPselectVarStrongBranching(), setupAndSolveSubscipRapidlearning(), solveAndEvalSubscip(), solveIndependentCons(), solveNlp(), solveSubproblem(), tightenBounds(), tightenVarsBoundsSOS1(), and updateArcData().

◆ SCIPinferVarFixCons()

SCIP_EXPORT 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 5413 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_EXPORT 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 5482 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_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_EXPORT 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 5596 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_EXPORT 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 5704 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_EXPORT 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 5807 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_EXPORT 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 5876 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_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_EXPORT 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 5991 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_EXPORT 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 6101 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_EXPORT 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 6209 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_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_EXPORT 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 6329 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_EXPORT 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 6444 of file scip_var.c.

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

Referenced by applyGlobalBounds(), SCIP_DECL_QUADCONSUPGD(), SCIPcreateConsSOC(), and SCIPtightenVarLbGlobal().

◆ SCIPcomputeVarUbGlobal()

SCIP_EXPORT 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 6465 of file scip_var.c.

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

Referenced by applyGlobalBounds(), SCIP_DECL_QUADCONSUPGD(), SCIPcreateConsSOC(), and SCIPtightenVarUbGlobal().

◆ SCIPcomputeVarLbLocal()

SCIP_EXPORT 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 6486 of file scip_var.c.

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

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

◆ SCIPcomputeVarUbLocal()

SCIP_EXPORT 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 6507 of file scip_var.c.

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

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

◆ SCIPgetVarMultaggrLbGlobal()

SCIP_EXPORT 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 6527 of file scip_var.c.

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

◆ SCIPgetVarMultaggrUbGlobal()

SCIP_EXPORT 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 6542 of file scip_var.c.

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

◆ SCIPgetVarMultaggrLbLocal()

SCIP_EXPORT 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 6557 of file scip_var.c.

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

◆ SCIPgetVarMultaggrUbLocal()

SCIP_EXPORT 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 6572 of file scip_var.c.

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

◆ SCIPgetVarClosestVlb()

SCIP_EXPORT 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 6590 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_EXPORT 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 6613 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_EXPORT 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 6642 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 addVarbound(), SCIP_DECL_CONSPRESOL(), SCIPanalyzeDeductionsProbing(), and strengthenVarbounds().

◆ SCIPaddVarVub()

SCIP_EXPORT 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 6701 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 addVarbound(), SCIP_DECL_CONSPRESOL(), and SCIPanalyzeDeductionsProbing().

◆ SCIPaddVarImplication()

SCIP_EXPORT 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 6761 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_EXPORT 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 6902 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_EXPORT 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 7237 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_EXPORT 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 7456 of file scip_var.c.

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

◆ SCIPcleanupCliques()

SCIP_EXPORT 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 7513 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()

SCIP_EXPORT 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 7556 of file scip_var.c.

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

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

◆ SCIPgetNCliquesCreated()

SCIP_EXPORT 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 7583 of file scip_var.c.

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

◆ SCIPgetCliques()

SCIP_EXPORT 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 7610 of file scip_var.c.

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

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

◆ SCIPhaveVarsCommonClique()

SCIP_EXPORT 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 7640 of file scip_var.c.

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

Referenced by getImpliedBounds(), and liftCliqueVariables().

◆ SCIPwriteCliqueGraph()

SCIP_EXPORT 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 7691 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_EXPORT 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 7840 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_EXPORT 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 7874 of file scip_var.c.

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

◆ SCIPscaleVarBranchFactor()

SCIP_EXPORT 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 7902 of file scip_var.c.

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

◆ SCIPaddVarBranchFactor()

SCIP_EXPORT 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 7930 of file scip_var.c.

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

◆ SCIPchgVarBranchPriority()

SCIP_EXPORT 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 7961 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(), createVariables(), SCIP_DECL_DIALOGEXEC(), SCIPtransformMinUC(), and setObjective().

◆ SCIPupdateVarBranchPriority()

SCIP_EXPORT 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 8002 of file scip_var.c.

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

◆ SCIPaddVarBranchPriority()

SCIP_EXPORT 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 8035 of file scip_var.c.

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

◆ SCIPchgVarBranchDirection()

SCIP_EXPORT 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 8066 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_EXPORT 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 8155 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(), readBinaries(), readBounds(), readGenerals(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_RELAXEXEC(), SCIPaddVarIndicator(), SCIPbendersChgMastervarsToCont(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarType(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPcreateConsAnd(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), setupAndSolveFiniteSolSubscip(), and setupAndSolveSubscipRapidlearning().

◆ SCIPfixVar()

SCIP_EXPORT 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 8255 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(), applyAlternativeBoundsFixing(), applyFixings(), applyFixingsAndAggregations(), applyProbing(), checkForOverlapping(), checkVariable(), cliquePresolve(), consdataLinearize(), copyVars(), detectRedundantConstraints(), dualPresolve(), dualPresolving(), enforceSol(), fixDeleteOrUpgradeCons(), fixIntegerVariable(), fixIntegerVariableLb(), fixIntegerVariableUb(), fixTriangle(), fixVariableZero(), liftCliqueVariables(), mergeMultiples(), performDualfix(), prepareCons(), preprocessConstraintPairs(), presolRoundCardinality(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), presolRoundVarsSOS1(), presolveConsEst(), presolveConsLct(), presolveCumulativeCondition(), presolveDual(), presolveFindDuplicates(), presolvePropagateCons(), presolveRemoveFixedVariables(), processNlRow(), propagateCons(), readSol(), removeDoubleAndSingletonsAndPerformDualpresolve(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_PRESOLEXEC(), SCIPanalyzeDeductionsProbing(), SCIPincludePresolMILP(), SCIPselectVarPseudoStrongBranching(), setupAndSolveFiniteSolSubscip(), setupProblem(), shortenConss(), solveAndEvalSubscip(), solveIndependentCons(), solveSubproblem(), tightenBounds(), tryFixVar(), tryUpgradingLogicor(), tryUpgradingSetppc(), and upgradeCons().

◆ SCIPaggregateVars()

SCIP_EXPORT 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 8380 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(), findAggregation(), multiAggregateBinvar(), performAggregations(), preprocessConstraintPairs(), presolveFindDuplicates(), presolveFindDuplicatesUpgradeCons(), presolvePropagateCons(), presolveSolve(), removeDoubleAndSingletonsAndPerformDualpresolve(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIPanalyzeDeductionsProbing(), SCIPincludePresolMILP(), tightenCoefs(), and upgradeConss().

◆ SCIPmultiaggregateVar()

SCIP_EXPORT 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 8514 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(), disaggregate(), multiAggregateBinvar(), SCIP_DECL_QUADCONSUPGD(), and SCIPincludePresolMILP().

◆ SCIPdoNotAggr()

SCIP_EXPORT SCIP_Bool SCIPdoNotAggr ( SCIP scip)

◆ SCIPdoNotMultaggr()

SCIP_EXPORT SCIP_Bool SCIPdoNotMultaggr ( SCIP scip)

returns whether multi-aggregation is disabled

Parameters
scipSCIP data structure

Definition at line 8554 of file scip_var.c.

References NULL, SCIP_Set::presol_donotmultaggr, and Scip::set.

Referenced by removeDoubleAndSingletonsAndPerformDualpresolve().

◆ SCIPdoNotMultaggrVar()

SCIP_EXPORT 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 8564 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_EXPORT 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 8580 of file scip_var.c.

References SCIP_Set::misc_allowstrongdualreds, NULL, SCIP_Set::reopt_enable, and Scip::set.

◆ SCIPallowStrongDualReds()

SCIP_EXPORT 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 8595 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(), and SCIPincludePresolMILP().

◆ SCIPallowObjProp()

SCIP_EXPORT 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 8608 of file scip_var.c.

References SCIP_Set::misc_allowweakdualreds, NULL, SCIP_Set::reopt_enable, and Scip::set.

◆ SCIPallowWeakDualReds()

SCIP_EXPORT 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 8622 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(), and SCIPincludePresolMILP().

◆ SCIPmarkDoNotMultaggrVar()

SCIP_EXPORT 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 8648 of file scip_var.c.

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

Referenced by checkFixedVariables(), consdataCreate(), createConstraints(), determineSymmetry(), handleNewVariableCardinality(), handleNewVariableSOS1(), reformNode2Var(), removeFixedVariables(), SCIP_DECL_CONSACTIVE(), SCIP_DECL_CONSTRANS(), SCIP_DECL_QUADCONSUPGD(), SCIPcreateConsAbspower(), SCIPcreateConsIndicator(), SCIPcreateConsIndicatorLinCons(), SCIPcreateConsSOS1(), and SCIPcreateSchedulingProblem().

◆ SCIPenableVarHistory()

SCIP_EXPORT 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 8674 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()

SCIP_EXPORT 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 8693 of file scip_var.c.

References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPstatDisableVarHistory(), Scip::stat, and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

◆ SCIPupdateVarPseudocost()

SCIP_EXPORT 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 8713 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_EXPORT 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 8747 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetPseudocost(), Scip::stat, and TRUE.

Referenced by calcPscostQuot(), execRelpscost(), getVariablePscostScore(), and updateBestCandidate().

◆ SCIPgetVarPseudocostValCurrentRun()

SCIP_EXPORT 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 8775 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetPseudocostCurrentRun(), Scip::stat, and TRUE.

◆ SCIPgetVarPseudocost()

SCIP_EXPORT 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 8801 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_EXPORT 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 8829 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_EXPORT 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 8855 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_EXPORT 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 8883 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(), and sortFirstCandidatesByScore().

◆ SCIPgetVarPseudocostVariance()

SCIP_EXPORT 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 8909 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_EXPORT 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 8931 of file scip_var.c.

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

◆ SCIPsignificantVarPscostDifference()

SCIP_EXPORT 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 8962 of file scip_var.c.

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

Referenced by execRelpscost().

◆ SCIPpscostThresholdProbabilityTest()

SCIP_EXPORT 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 8992 of file scip_var.c.

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

Referenced by execRelpscost().

◆ SCIPisVarPscostRelerrorReliable()

SCIP_EXPORT 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 9011 of file scip_var.c.

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

Referenced by execRelpscost().

◆ SCIPgetVarPseudocostScore()

SCIP_EXPORT 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 9036 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(), and SCIP_DECL_BRANCHEXECLP().

◆ SCIPgetVarPseudocostScoreCurrentRun()

SCIP_EXPORT 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 9074 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_EXPORT 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 9110 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_EXPORT 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 9142 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_EXPORT 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 9174 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(), and performBranching().

◆ SCIPgetVarConflictScoreCurrentRun()

SCIP_EXPORT 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 9205 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_EXPORT 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 9236 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_EXPORT 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 9267 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_EXPORT 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 9298 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetAvgConflictlength(), and TRUE.

Referenced by setupAndSolveSubscipRapidlearning().

◆ SCIPgetVarAvgConflictlengthCurrentRun()

SCIP_EXPORT 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 9324 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetAvgConflictlengthCurrentRun(), and TRUE.

◆ SCIPgetVarAvgInferences()

SCIP_EXPORT 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 9352 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_EXPORT 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 9380 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetAvgInferencesCurrentRun(), Scip::stat, and TRUE.

◆ SCIPgetVarAvgInferenceScore()

SCIP_EXPORT 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 9406 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(), and performBranching().

◆ SCIPgetVarAvgInferenceScoreCurrentRun()

SCIP_EXPORT 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 9437 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_EXPORT 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 9470 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_EXPORT 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 9541 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_EXPORT 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 9606 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetAvgCutoffs(), Scip::stat, and TRUE.

Referenced by SCIPisStrongbranchDownFirst().

◆ SCIPgetVarAvgCutoffsCurrentRun()

SCIP_EXPORT 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 9634 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetAvgCutoffsCurrentRun(), Scip::stat, and TRUE.

◆ SCIPgetVarAvgCutoffScore()

SCIP_EXPORT 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 9660 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_EXPORT 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 9691 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_EXPORT 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 9723 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(), and performBranching().

◆ SCIPgetVarAvgInferenceCutoffScoreCurrentRun()

SCIP_EXPORT 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 9767 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.

◆ SCIPprintVar()

SCIP_EXPORT 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 9818 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().