SCIP Doxygen Documentation
Loading...
Searching...
No Matches
prob.h File Reference

Detailed Description

internal methods for storing and manipulating the main problem

Author
Tobias Achterberg

Definition in file prob.h.

#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/type_retcode.h"
#include "scip/type_set.h"
#include "scip/type_stat.h"
#include "scip/type_event.h"
#include "scip/type_lp.h"
#include "scip/type_var.h"
#include "scip/type_implics.h"
#include "scip/type_prob.h"
#include "scip/type_primal.h"
#include "scip/type_tree.h"
#include "scip/type_rational.h"
#include "scip/type_reopt.h"
#include "scip/type_branch.h"
#include "scip/type_cons.h"
#include "scip/type_conflictstore.h"
#include "scip/type_message.h"
#include "scip/type_misc.h"
#include "scip/type_datatree.h"

Go to the source code of this file.

Functions

SCIP_RETCODE SCIPprobCopy (SCIP_PROB **prob, BMS_BLKMEM *blkmem, SCIP_SET *set, const char *name, SCIP *sourcescip, SCIP_PROB *sourceprob, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool original, SCIP_Bool global)
SCIP_RETCODE SCIPprobCreate (SCIP_PROB **prob, BMS_BLKMEM *blkmem, SCIP_SET *set, const char *name, SCIP_DECL_PROBDELORIG((*probdelorig)), SCIP_DECL_PROBTRANS((*probtrans)), SCIP_DECL_PROBDELTRANS((*probdeltrans)), SCIP_DECL_PROBINITSOL((*probinitsol)), SCIP_DECL_PROBEXITSOL((*probexitsol)), SCIP_DECL_PROBCOPY((*probcopy)), SCIP_PROBDATA *probdata, SCIP_Bool transformed)
void SCIPprobSetDelorig (SCIP_PROB *prob,)
void SCIPprobSetTrans (SCIP_PROB *prob,)
void SCIPprobSetDeltrans (SCIP_PROB *prob,)
void SCIPprobSetInitsol (SCIP_PROB *prob,)
void SCIPprobSetExitsol (SCIP_PROB *prob,)
void SCIPprobSetCopy (SCIP_PROB *prob,)
SCIP_RETCODE SCIPprobFree (SCIP_PROB **prob, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp)
SCIP_RETCODE SCIPprobTransform (SCIP_PROB *source, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_CONFLICTSTORE *conflictstore, SCIP_PROB **target)
SCIP_RETCODE SCIPprobResetBounds (SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat)
void SCIPprobResortVars (SCIP_PROB *prob)
SCIP_RETCODE SCIPprobSortConssCheck (SCIP_PROB *prob)
void SCIPprobSetData (SCIP_PROB *prob, SCIP_PROBDATA *probdata)
SCIP_RETCODE SCIPprobAddVarName (SCIP_PROB *prob, SCIP_VAR *var)
SCIP_RETCODE SCIPprobRemoveVarName (SCIP_PROB *prob, SCIP_VAR *var)
SCIP_RETCODE SCIPprobAddVar (SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_VAR *var)
SCIP_RETCODE SCIPprobDelVar (SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR *var, SCIP_Bool *deleted)
SCIP_RETCODE SCIPprobPerformVarDeletions (SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand)
SCIP_RETCODE SCIPprobChgVarType (SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_PRIMAL *primal, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_VAR *var, SCIP_VARTYPE vartype)
SCIP_RETCODE SCIPprobChgVarImplType (SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_PRIMAL *primal, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_VAR *var, SCIP_IMPLINTTYPE impltype)
SCIP_RETCODE SCIPprobVarChangedStatus (SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_BRANCHCAND *branchcand, SCIP_CLIQUETABLE *cliquetable, SCIP_VAR *var)
SCIP_RETCODE SCIPprobAddConsName (SCIP_PROB *prob, SCIP_CONS *cons)
SCIP_RETCODE SCIPprobRemoveConsName (SCIP_PROB *prob, SCIP_CONS *cons)
SCIP_RETCODE SCIPprobAddCons (SCIP_PROB *prob, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons)
SCIP_RETCODE SCIPprobDelCons (SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons)
void SCIPprobMarkNConss (SCIP_PROB *prob)
void SCIPprobSetObjsense (SCIP_PROB *prob, SCIP_OBJSENSE objsense)
void SCIPprobAddObjoffset (SCIP_PROB *prob, SCIP_Real addval)
void SCIPprobAddObjoffsetExact (SCIP_PROB *prob, SCIP_RATIONAL *addval)
void SCIPprobSetDualbound (SCIP_PROB *prob, SCIP_Real dualbound)
void SCIPprobSetObjlim (SCIP_PROB *prob, SCIP_Real objlim)
void SCIPprobSetObjIntegral (SCIP_PROB *prob)
SCIP_RETCODE SCIPprobCheckObjIntegral (SCIP_PROB *transprob, SCIP_PROB *origprob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter)
SCIP_RETCODE SCIPprobScaleObj (SCIP_PROB *transprob, SCIP_PROB *origprob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter)
void SCIPprobStoreRootSol (SCIP_PROB *prob, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_Bool roothaslp)
void SCIPprobUpdateBestRootSol (SCIP_PROB *prob, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp)
SCIP_RETCODE SCIPprobExitPresolve (SCIP_PROB *prob, SCIP_SET *set)
SCIP_RETCODE SCIPprobInitSolve (SCIP_PROB *prob, SCIP_SET *set)
SCIP_RETCODE SCIPprobExitSolve (SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp, SCIP_Bool restart)
SCIP_RETCODE SCIPprobSetName (SCIP_PROB *prob, const char *name)
int SCIPprobGetNObjVars (SCIP_PROB *prob, SCIP_SET *set)
SCIP_Real SCIPprobGetAbsMinObjCoef (SCIP_PROB *prob, SCIP_SET *set)
SCIP_Real SCIPprobGetAbsMaxObjCoef (SCIP_PROB *prob, SCIP_SET *set)
void SCIPprobUpdateNObjVars (SCIP_PROB *prob, SCIP_SET *set, SCIP_Real oldobj, SCIP_Real newobj)
void SCIPprobUpdateDualbound (SCIP_PROB *prob, SCIP_Real newbound)
void SCIPprobInvalidateDualbound (SCIP_PROB *prob)
SCIP_Real SCIPprobExternObjval (SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_SET *set, SCIP_Real objval)
void SCIPprobExternObjvalExact (SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_SET *set, SCIP_RATIONAL *objval, SCIP_RATIONAL *objvalext)
SCIP_Real SCIPprobInternObjval (SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_SET *set, SCIP_Real objval)
void SCIPprobInternObjvalExact (SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_SET *set, SCIP_RATIONAL *objval, SCIP_RATIONAL *objvalint)
SCIP_VARSCIPprobFindVar (SCIP_PROB *prob, const char *name)
SCIP_CONSSCIPprobFindCons (SCIP_PROB *prob, const char *name)
void SCIPprobPrintPseudoSol (SCIP_PROB *prob, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
void SCIPprobPrintStatistics (SCIP_PROB *prob, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
SCIP_RETCODE SCIPprobCollectStatistics (SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_DATATREE *datatree)
SCIP_Bool SCIPprobIsPermuted (SCIP_PROB *prob)
void SCIPprobMarkPermuted (SCIP_PROB *prob)
SCIP_Bool SCIPprobIsTransformed (SCIP_PROB *prob)
SCIP_Bool SCIPprobIsObjIntegral (SCIP_PROB *prob)
SCIP_Bool SCIPprobAllColsInLP (SCIP_PROB *prob, SCIP_SET *set, SCIP_LP *lp)
SCIP_Real SCIPprobGetObjlim (SCIP_PROB *prob, SCIP_SET *set)
SCIP_PROBDATASCIPprobGetData (SCIP_PROB *prob)
const char * SCIPprobGetName (SCIP_PROB *prob)
int SCIPprobGetNVars (SCIP_PROB *prob)
int SCIPprobGetNBinVars (SCIP_PROB *prob)
int SCIPprobGetNIntVars (SCIP_PROB *prob)
int SCIPprobGetNImplVars (SCIP_PROB *prob)
int SCIPprobGetNContVars (SCIP_PROB *prob)
SCIP_VAR ** SCIPprobGetVars (SCIP_PROB *prob)
int SCIPprobGetNFixedVars (SCIP_PROB *prob)
SCIP_VAR ** SCIPprobGetFixedVars (SCIP_PROB *prob)
int SCIPprobGetStartNVars (SCIP_PROB *prob)
int SCIPprobGetNConss (SCIP_PROB *prob)
SCIP_CONS ** SCIPprobGetConss (SCIP_PROB *prob)
int SCIPprobGetMaxNConss (SCIP_PROB *prob)
int SCIPprobGetStartNConss (SCIP_PROB *prob)
SCIP_OBJSENSE SCIPprobGetObjsense (SCIP_PROB *prob)
SCIP_Real SCIPprobGetObjoffset (SCIP_PROB *prob)
SCIP_Real SCIPprobGetObjscale (SCIP_PROB *prob)
SCIP_RATIONALSCIPprobGetObjoffsetExact (SCIP_PROB *prob)
SCIP_RATIONALSCIPprobGetObjscaleExact (SCIP_PROB *prob)
SCIP_Bool SCIPprobIsConsCompressionEnabled (SCIP_PROB *prob)
void SCIPprobEnableConsCompression (SCIP_PROB *prob)

Function Documentation

◆ SCIPprobCopy()

SCIP_RETCODE SCIPprobCopy ( SCIP_PROB ** prob,
BMS_BLKMEM * blkmem,
SCIP_SET * set,
const char * name,
SCIP * sourcescip,
SCIP_PROB * sourceprob,
SCIP_HASHMAP * varmap,
SCIP_HASHMAP * consmap,
SCIP_Bool original,
SCIP_Bool global )

creates problem data structure by copying the source problem; If the problem type requires the use of variable pricers, these pricers should be activated with calls to SCIPactivatePricer(). These pricers are automatically deactivated, when the problem is freed.

creates problem data structure by copying the source problem

If the problem type requires the use of variable pricers, these pricers should be activated with calls to SCIPactivatePricer(). These pricers are automatically deactivated, when the problem is freed.

Parameters
probpointer to problem data structure
blkmemblock memory
setglobal SCIP settings
nameproblem name
sourcescipsource SCIP data structure
sourceprobsource problem structure
varmapa hashmap to store the mapping of source variables corresponding target variables
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints
originalcopy original or transformed problem?
globalcreate a global or a local copy?

Definition at line 208 of file prob.c.

References assert(), FALSE, NULL, SCIP_Prob::probdata, result, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_OKAY, SCIP_SUCCESS, SCIPerrorMessage, and SCIPprobCreate().

Referenced by copyProb().

◆ SCIPprobCreate()

SCIP_RETCODE SCIPprobCreate ( SCIP_PROB ** prob,
BMS_BLKMEM * blkmem,
SCIP_SET * set,
const char * name,
SCIP_DECL_PROBDELORIG((*probdelorig)) ,
SCIP_DECL_PROBTRANS((*probtrans)) ,
SCIP_DECL_PROBDELTRANS((*probdeltrans)) ,
SCIP_DECL_PROBINITSOL((*probinitsol)) ,
SCIP_DECL_PROBEXITSOL((*probexitsol)) ,
SCIP_DECL_PROBCOPY((*probcopy)) ,
SCIP_PROBDATA * probdata,
SCIP_Bool transformed )

creates problem data structure If the problem type requires the use of variable pricers, these pricers should be activated with calls to SCIPactivatePricer(). These pricers are automatically deactivated, when the problem is freed.

Parameters
probpointer to problem data structure
blkmemblock memory
setglobal SCIP settings
nameproblem name
probdatauser problem data set by the reader
transformedis this the transformed problem?

Definition at line 272 of file prob.c.

References assert(), BMSallocMemory, BMSduplicateMemoryArray, FALSE, NULL, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_DECL_PROBCOPY, SCIP_DECL_PROBDELORIG, SCIP_DECL_PROBEXITSOL, SCIP_DECL_PROBINITSOL, SCIP_DECL_PROBTRANS, SCIP_HASHSIZE_NAMES, SCIP_HASHSIZE_NAMES_SMALL, SCIP_INVALID, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, SCIPhashtableCreate(), SCIPrationalCreateBlock(), and SCIPrationalSetReal().

Referenced by SCIPcreateProb(), SCIPprobCopy(), and SCIPprobTransform().

◆ SCIPprobSetDelorig()

void SCIPprobSetDelorig ( SCIP_PROB * prob)

sets callback to free user data of original problem

Parameters
probproblem frees user data of original problem

Definition at line 368 of file prob.c.

References assert(), NULL, and SCIP_DECL_PROBDELORIG.

Referenced by SCIPsetProbDelorig().

◆ SCIPprobSetTrans()

void SCIPprobSetTrans ( SCIP_PROB * prob)

sets callback to create user data of transformed problem by transforming original user data

Parameters
probproblem creates user data of transformed problem by transforming original user data

Definition at line 379 of file prob.c.

References assert(), NULL, and SCIP_DECL_PROBTRANS.

Referenced by SCIPsetProbTrans().

◆ SCIPprobSetDeltrans()

void SCIPprobSetDeltrans ( SCIP_PROB * prob)

sets callback to free user data of transformed problem

Parameters
probproblem frees user data of transformed problem

Definition at line 390 of file prob.c.

References assert(), and NULL.

Referenced by SCIPsetProbDeltrans().

◆ SCIPprobSetInitsol()

void SCIPprobSetInitsol ( SCIP_PROB * prob)

sets solving process initialization callback of transformed data

Parameters
probproblem solving process initialization callback of transformed data

Definition at line 401 of file prob.c.

References assert(), NULL, and SCIP_DECL_PROBINITSOL.

Referenced by SCIPsetProbInitsol().

◆ SCIPprobSetExitsol()

void SCIPprobSetExitsol ( SCIP_PROB * prob)

sets solving process deinitialization callback of transformed data

Parameters
probproblem solving process deinitialization callback of transformed data

Definition at line 412 of file prob.c.

References assert(), NULL, and SCIP_DECL_PROBEXITSOL.

Referenced by SCIPsetProbExitsol().

◆ SCIPprobSetCopy()

void SCIPprobSetCopy ( SCIP_PROB * prob)

sets callback to copy user data to copy it to a subscip, or NULL

Parameters
probproblem copies user data if you want to copy it to a subscip, or NULL

Definition at line 423 of file prob.c.

References assert(), NULL, and SCIP_DECL_PROBCOPY.

Referenced by SCIPsetProbCopy().

◆ SCIPprobFree()

SCIP_RETCODE SCIPprobFree ( SCIP_PROB ** prob,
SCIP_MESSAGEHDLR * messagehdlr,
BMS_BLKMEM * blkmem,
SCIP_SET * set,
SCIP_STAT * stat,
SCIP_EVENTQUEUE * eventqueue,
SCIP_LP * lp )

frees problem data structure

Parameters
probpointer to problem data structure
messagehdlrmessage handler
blkmemblock memory buffer
setglobal SCIP settings
statdynamic problem statistics
eventqueueevent queue
lpcurrent LP data (or NULL, if it's the original problem)

Definition at line 434 of file prob.c.

References assert(), BMSfreeMemory, BMSfreeMemoryArray, BMSfreeMemoryArrayNull, FALSE, h, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconshdlrNeedsCons(), SCIPconshdlrUnlockVars(), SCIPhashtableFree(), SCIPmessageFPrintWarning(), SCIPprobDelCons(), SCIPprobGetName(), SCIPrationalFreeBlock(), SCIPvarGetName(), SCIPvarGetNUses(), SCIPvarGetProbindex(), SCIPvarRelease(), SCIPvarRemove(), and TRUE.

Referenced by freeTransform(), freeTransforming(), and SCIPfreeProb().

◆ SCIPprobTransform()

SCIP_RETCODE SCIPprobTransform ( SCIP_PROB * source,
BMS_BLKMEM * blkmem,
SCIP_SET * set,
SCIP_STAT * stat,
SCIP_PRIMAL * primal,
SCIP_TREE * tree,
SCIP_REOPT * reopt,
SCIP_LP * lp,
SCIP_BRANCHCAND * branchcand,
SCIP_EVENTQUEUE * eventqueue,
SCIP_EVENTFILTER * eventfilter,
SCIP_CONFLICTSTORE * conflictstore,
SCIP_PROB ** target )

transform problem data into normalized form

Parameters
sourceproblem to transform
blkmemblock memory buffer
setglobal SCIP settings
statproblem statistics
primalprimal data
treebranch and bound tree
reoptreoptimization data structure
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
eventfilterglobal event filter
conflictstoreconflict store
targetpointer to target problem data structure

Definition at line 553 of file prob.c.

References assert(), c, SCIP_Prob::conss, SCIP_Prob::dualbound, h, SCIP_Prob::name, SCIP_Prob::nconss, SCIP_Prob::nlpenabled, NULL, SCIP_Prob::nvars, SCIP_Prob::objisintegral, SCIP_Prob::objlim, SCIP_Prob::objsense, SCIP_Prob::permuted, SCIP_Prob::probdata, probEnsureVarsMem(), SCIP_CALL, SCIP_INVALID, SCIP_MAXSTRLEN, SCIP_OBJSENSE_MAXIMIZE, SCIP_OKAY, SCIPconflictstoreTransform(), SCIPconshdlrLockVars(), SCIPconshdlrNeedsCons(), SCIPconsRelease(), SCIPconsTransform(), SCIPprobAddCons(), SCIPprobAddVar(), SCIPprobCheckObjIntegral(), SCIPprobCreate(), SCIPprobGetNObjVars(), SCIPprobSetDualbound(), SCIPprobSetObjlim(), SCIPprobSetObjsense(), SCIPsetDebugMsg, SCIPsetIsIntegral(), SCIPsnprintf(), SCIPvarCopyExactData(), SCIPvarRelease(), SCIPvarTransform(), TRUE, and SCIP_Prob::vars.

Referenced by SCIPtransformProb().

◆ SCIPprobResetBounds()

SCIP_RETCODE SCIPprobResetBounds ( SCIP_PROB * prob,
BMS_BLKMEM * blkmem,
SCIP_SET * set,
SCIP_STAT * stat )

resets the global and local bounds of original variables in original problem to their original values

Parameters
proboriginal problem data
blkmemblock memory
setglobal SCIP settings
statproblem statistics

Definition at line 658 of file prob.c.

References assert(), SCIP_Prob::nfixedvars, NULL, SCIP_Prob::nvars, SCIP_CALL, SCIP_OKAY, SCIPvarResetBounds(), and SCIP_Prob::vars.

Referenced by freeTransform().

◆ SCIPprobResortVars()

void SCIPprobResortVars ( SCIP_PROB * prob)

(Re)Sort the variables, which appear in the four categories (binary, integer, implicit, continuous) after presolve with respect to their original index (within their categories). Adjust the problem index afterwards which is supposed to reflect the position in the variable array. This additional (re)sorting is supposed to get more robust against the order presolving fixed variables. (We also reobtain a possible block structure induced by the user model)

Parameters
probproblem data

Definition at line 684 of file prob.c.

References assert(), SCIP_Prob::nbinimplvars, SCIP_Prob::nbinvars, SCIP_Prob::ncontimplvars, SCIP_Prob::ncontvars, SCIP_Prob::nintimplvars, SCIP_Prob::nintvars, NULL, nvars, SCIP_Prob::nvars, SCIPdebugMessage, SCIPsortPtr(), SCIP_Prob::vars, and vars.

Referenced by presolve().

◆ SCIPprobSortConssCheck()

SCIP_RETCODE SCIPprobSortConssCheck ( SCIP_PROB * prob)

possibly create and sort the constraints according to check priorties

Parameters
probproblem data

Definition at line 748 of file prob.c.

References assert(), BMSduplicateMemoryArray, SCIP_Prob::conss, SCIP_Prob::consschecksorted, SCIP_Prob::consssize, SCIP_Prob::nconss, NULL, SCIP_Prob::origcheckconss, SCIP_ALLOC, SCIP_OKAY, SCIPsortPtr(), SCIP_Prob::transformed, and TRUE.

Referenced by SCIPsolCheckOrig().

◆ SCIPprobSetData()

void SCIPprobSetData ( SCIP_PROB * prob,
SCIP_PROBDATA * probdata )

sets user problem data

Parameters
probproblem
probdatauser problem data to use

Definition at line 778 of file prob.c.

References assert(), NULL, and SCIP_Prob::probdata.

Referenced by SCIPsetProbData().

◆ SCIPprobAddVarName()

SCIP_RETCODE SCIPprobAddVarName ( SCIP_PROB * prob,
SCIP_VAR * var )

adds variable's name to the namespace

Parameters
probproblem data
varvariable

Definition at line 1065 of file prob.c.

References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPhashtableInsert(), SCIPvarGetProbindex(), var, varHasName(), and SCIP_Prob::varnames.

Referenced by SCIPchgVarName(), and SCIPprobAddVar().

◆ SCIPprobRemoveVarName()

SCIP_RETCODE SCIPprobRemoveVarName ( SCIP_PROB * prob,
SCIP_VAR * var )

removes variable's name from the namespace

Parameters
probproblem data
varvariable

Definition at line 1081 of file prob.c.

References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPhashtableExists(), SCIPhashtableRemove(), var, varHasName(), and SCIP_Prob::varnames.

Referenced by SCIPchgVarName(), and SCIPprobPerformVarDeletions().

◆ SCIPprobAddVar()

◆ SCIPprobDelVar()

SCIP_RETCODE SCIPprobDelVar ( SCIP_PROB * prob,
BMS_BLKMEM * blkmem,
SCIP_SET * set,
SCIP_EVENTQUEUE * eventqueue,
SCIP_VAR * var,
SCIP_Bool * deleted )

◆ SCIPprobPerformVarDeletions()

SCIP_RETCODE SCIPprobPerformVarDeletions ( SCIP_PROB * prob,
BMS_BLKMEM * blkmem,
SCIP_SET * set,
SCIP_STAT * stat,
SCIP_EVENTQUEUE * eventqueue,
SCIP_CLIQUETABLE * cliquetable,
SCIP_LP * lp,
SCIP_BRANCHCAND * branchcand )

actually removes the deleted variables from the problem and releases them

Parameters
probproblem data
blkmemblock memory
setglobal SCIP settings
statdynamic problem statistics
eventqueueevent queue
cliquetableclique table data structure
lpcurrent LP data (may be NULL)
branchcandbranching candidate storage

Definition at line 1233 of file prob.c.

References assert(), SCIP_Prob::deletedvars, FALSE, i, SCIP_Prob::ndeletedvars, NULL, probRemoveVar(), SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_ORIGINAL, SCIPbranchcandRemoveVar(), SCIPconshdlrDelVars(), SCIPlpUpdateDelVar(), SCIPprobRemoveVarName(), SCIPprobUpdateNObjVars(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPvarGetName(), SCIPvarGetObj(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarLoose(), SCIPvarRelease(), SCIP_Prob::transformed, and var.

Referenced by exitPresolve(), focusnodeCleanupVars(), initPresolve(), presolveRound(), and SCIPdelVar().

◆ SCIPprobChgVarType()

SCIP_RETCODE SCIPprobChgVarType ( SCIP_PROB * prob,
BMS_BLKMEM * blkmem,
SCIP_SET * set,
SCIP_PRIMAL * primal,
SCIP_LP * lp,
SCIP_BRANCHCAND * branchcand,
SCIP_EVENTQUEUE * eventqueue,
SCIP_CLIQUETABLE * cliquetable,
SCIP_VAR * var,
SCIP_VARTYPE vartype )

changes the type of a variable in the problem

Parameters
probproblem data
blkmemblock memory
setglobal SCIP settings
primalprimal data
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
cliquetableclique table data structure
varvariable to change type of
vartypenew type of variable

Definition at line 1304 of file prob.c.

References assert(), NULL, probInsertVar(), probRemoveVar(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_ORIGINAL, SCIPbranchcandRemoveVar(), SCIPbranchcandUpdateVar(), SCIPvarChgType(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarGetType(), and var.

Referenced by SCIPchgVarType().

◆ SCIPprobChgVarImplType()

SCIP_RETCODE SCIPprobChgVarImplType ( SCIP_PROB * prob,
BMS_BLKMEM * blkmem,
SCIP_SET * set,
SCIP_PRIMAL * primal,
SCIP_LP * lp,
SCIP_BRANCHCAND * branchcand,
SCIP_EVENTQUEUE * eventqueue,
SCIP_CLIQUETABLE * cliquetable,
SCIP_VAR * var,
SCIP_IMPLINTTYPE impltype )

changes the implied integral type of a variable in the problem

Parameters
probproblem data
blkmemblock memory
setglobal SCIP settings
primalprimal data
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
cliquetableclique table data structure
varvariable to change implied integral type of
impltypenew implied integral type of variable

Definition at line 1358 of file prob.c.

References assert(), NULL, probInsertVar(), probRemoveVar(), SCIP_Bool, SCIP_CALL, SCIP_IMPLINTTYPE_NONE, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_ORIGINAL, SCIPbranchcandRemoveVar(), SCIPbranchcandUpdateVar(), SCIPvarChgImplType(), SCIPvarGetImplType(), SCIPvarGetProbindex(), SCIPvarGetStatus(), and var.

Referenced by SCIPchgVarImplType().

◆ SCIPprobVarChangedStatus()

SCIP_RETCODE SCIPprobVarChangedStatus ( SCIP_PROB * prob,
BMS_BLKMEM * blkmem,
SCIP_SET * set,
SCIP_BRANCHCAND * branchcand,
SCIP_CLIQUETABLE * cliquetable,
SCIP_VAR * var )

◆ SCIPprobAddConsName()

SCIP_RETCODE SCIPprobAddConsName ( SCIP_PROB * prob,
SCIP_CONS * cons )

adds constraint's name to the namespace

Parameters
probproblem data
consconstraint

Definition at line 1470 of file prob.c.

References consHasName(), SCIP_Prob::consnames, NULL, SCIP_CALL, SCIP_OKAY, and SCIPhashtableInsert().

Referenced by SCIPchgConsName(), and SCIPprobAddCons().

◆ SCIPprobRemoveConsName()

SCIP_RETCODE SCIPprobRemoveConsName ( SCIP_PROB * prob,
SCIP_CONS * cons )

remove constraint's name from the namespace

Parameters
probproblem data
consconstraint

Definition at line 1485 of file prob.c.

References consHasName(), SCIP_Prob::consnames, SCIP_Cons::name, NULL, SCIP_CALL, SCIP_OKAY, SCIPhashtableRemove(), and SCIPhashtableRetrieve().

Referenced by SCIPchgConsName(), and SCIPprobDelCons().

◆ SCIPprobAddCons()

◆ SCIPprobDelCons()

SCIP_RETCODE SCIPprobDelCons ( SCIP_PROB * prob,
BMS_BLKMEM * blkmem,
SCIP_SET * set,
SCIP_STAT * stat,
SCIP_CONS * cons )

releases and removes constraint from the problem; if the user has not captured the constraint for his own use, the constraint may be invalid after the call

Parameters
probproblem data
blkmemblock memory
setglobal SCIP settings
statdynamic problem statistics
consconstraint to remove

Definition at line 1578 of file prob.c.

References SCIP_Cons::active, SCIP_Cons::addarraypos, SCIP_Cons::addconssetchg, assert(), BMSfreeMemoryArray, SCIP_Prob::conss, SCIP_Prob::consschecksorted, SCIP_Cons::enabled, FALSE, SCIP_Prob::nconss, NULL, SCIP_Prob::origcheckconss, SCIP_CALL, SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIPconsAddLocks(), SCIPconsDeactivate(), SCIPconsIsChecked(), SCIPconsRelease(), SCIPprobRemoveConsName(), SCIP_Prob::transformed, and SCIP_Cons::updatedeactivate.

Referenced by SCIPconsDelete(), and SCIPprobFree().

◆ SCIPprobMarkNConss()

void SCIPprobMarkNConss ( SCIP_PROB * prob)

remembers the current number of constraints in the problem's internal data structure

  • resets maximum number of constraints to current number of constraints
  • remembers current number of constraints as starting number of constraints
Parameters
probproblem data

Definition at line 1643 of file prob.c.

References assert(), SCIP_Prob::maxnconss, SCIP_Prob::nconss, NULL, SCIP_Prob::nvars, SCIP_Prob::startnconss, and SCIP_Prob::startnvars.

Referenced by initSolve(), presolve(), and SCIPtransformProb().

◆ SCIPprobSetObjsense()

void SCIPprobSetObjsense ( SCIP_PROB * prob,
SCIP_OBJSENSE objsense )

sets objective sense: minimization or maximization

Parameters
probproblem data
objsensenew objective sense

Definition at line 1656 of file prob.c.

References assert(), NULL, SCIP_Prob::objsense, SCIP_OBJSENSE_MAXIMIZE, and SCIP_OBJSENSE_MINIMIZE.

Referenced by SCIPprobTransform(), and SCIPsetObjsense().

◆ SCIPprobAddObjoffset()

void SCIPprobAddObjoffset ( SCIP_PROB * prob,
SCIP_Real addval )

adds value to objective offset

Parameters
probproblem data
addvalvalue to add to objective offset

Definition at line 1669 of file prob.c.

References assert(), NULL, SCIP_Prob::objoffset, SCIP_Prob::objoffsetexact, SCIP_Real, and SCIPdebugMessage.

Referenced by SCIPaddObjoffset(), SCIPaddOrigObjoffset(), and SCIPvarAddObj().

◆ SCIPprobAddObjoffsetExact()

void SCIPprobAddObjoffsetExact ( SCIP_PROB * prob,
SCIP_RATIONAL * addval )

adds value to objective offset

Parameters
probproblem data
addvalvalue to add to objective offset

Definition at line 1685 of file prob.c.

References assert(), NULL, SCIP_Prob::objoffset, SCIP_Prob::objoffsetexact, SCIPrationalAdd(), SCIPrationalDebugMessage, and SCIPrationalGetReal().

Referenced by SCIPaddOrigObjoffsetExact(), and SCIPvarAddObjExact().

◆ SCIPprobSetDualbound()

void SCIPprobSetDualbound ( SCIP_PROB * prob,
SCIP_Real dualbound )

sets the dual bound on objective function

Parameters
probproblem data
dualboundexternal dual bound

Definition at line 1702 of file prob.c.

References assert(), SCIP_Prob::dualbound, NULL, and SCIP_Real.

Referenced by SCIPcopyConcurrentSolvingStats(), SCIPprobTransform(), and SCIPprobUpdateDualbound().

◆ SCIPprobSetObjlim()

void SCIPprobSetObjlim ( SCIP_PROB * prob,
SCIP_Real objlim )

sets limit on objective function, such that only solutions better than this limit are accepted

Parameters
probproblem data
objlimexternal objective limit

Definition at line 1713 of file prob.c.

References assert(), NULL, SCIP_Prob::objlim, and SCIP_Real.

Referenced by SCIPprimalSetCutoffbound(), SCIPprobTransform(), and SCIPsetObjlimit().

◆ SCIPprobSetObjIntegral()

void SCIPprobSetObjIntegral ( SCIP_PROB * prob)

informs the problem, that its objective value is always integral in every feasible solution

Parameters
probproblem data

Definition at line 1724 of file prob.c.

References assert(), NULL, SCIP_Prob::objisintegral, and TRUE.

Referenced by SCIPsetObjIntegral().

◆ SCIPprobCheckObjIntegral()

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

sets integral objective value flag, if all variables with non-zero objective values are integral and have integral objective value and also updates the cutoff bound if primal solution is already known

Parameters
transprobtranformed problem data
origproboriginal problem data
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
primalprimal data
treebranch and bound tree
reoptreoptimization data structure
lpcurrent LP data
eventqueueevent queue
eventfilterglobal event filter

Definition at line 1804 of file prob.c.

References assert(), NULL, SCIP_Prob::nvars, obj, SCIP_Prob::objisintegral, SCIP_Prob::objoffset, probCheckObjIntegralExact(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPprimalUpdateObjoffset(), SCIPsetIsIntegral(), SCIPsetIsZero(), SCIPvarGetObj(), SCIPvarIsIntegral(), TRUE, and SCIP_Prob::vars.

Referenced by exitPresolve(), prepareReoptimization(), SCIPprobTransform(), and SCIPtransformProb().

◆ SCIPprobScaleObj()

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

if possible, scales objective function such that it is integral with gcd = 1

Parameters
transprobtranformed problem data
origproboriginal problem data
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
primalprimal data
treebranch and bound tree
reoptreoptimization data structure
lpcurrent LP data
eventqueueevent queue
eventfilterglobal event filter

Definition at line 2026 of file prob.c.

References assert(), SCIP_Prob::ncontvars, newobj, NULL, SCIP_Prob::nvars, obj, SCIP_Prob::objisintegral, SCIP_Prob::objoffset, SCIP_Prob::objscale, OBJSCALE_MAXDNOM, OBJSCALE_MAXFINALSCALE, OBJSCALE_MAXSCALE, probScaleObjExact(), REALABS, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_LONGINT_FORMAT, SCIP_LONGINT_MAX, SCIP_OKAY, SCIP_Real, SCIPcalcGreComDiv(), SCIPcalcIntegralScalar(), SCIPprimalUpdateObjoffset(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetEpsilon(), SCIPsetFeasFloor(), SCIPsetFreeBufferArray, SCIPsetIsEQ(), SCIPsetIsFeasIntegral(), SCIPsetIsZero(), SCIPvarChgObj(), SCIPvarGetName(), SCIPvarGetObj(), TRUE, and SCIP_Prob::vars.

Referenced by exitPresolve(), prepareReoptimization(), and SCIPtransformProb().

◆ SCIPprobStoreRootSol()

void SCIPprobStoreRootSol ( SCIP_PROB * prob,
SCIP_SET * set,
SCIP_STAT * stat,
SCIP_LP * lp,
SCIP_Bool roothaslp )

remembers the current solution as root solution in the problem variables

Parameters
probproblem data
setglobal SCIP settings
statSCIP statistics
lpcurrent LP data
roothaslpis the root solution from LP?

Definition at line 2165 of file prob.c.

References assert(), SCIP_Prob::ncontvars, NULL, SCIP_Prob::nvars, SCIP_Bool, SCIPlpGetColumnObjval(), SCIPlpIsRelax(), SCIPlpSetRootLPIsRelax(), SCIPlpStoreRootObjval(), SCIPstatComputeRootLPBestEstimate(), SCIPvarStoreRootSol(), SCIP_Prob::transformed, and SCIP_Prob::vars.

Referenced by solveNode().

◆ SCIPprobUpdateBestRootSol()

◆ SCIPprobExitPresolve()

SCIP_RETCODE SCIPprobExitPresolve ( SCIP_PROB * prob,
SCIP_SET * set )

informs problem, that the presolving process was finished, and updates all internal data structures

Parameters
probproblem data
setglobal SCIP settings

Definition at line 2290 of file prob.c.

References SCIP_OKAY.

Referenced by exitPresolve().

◆ SCIPprobInitSolve()

SCIP_RETCODE SCIPprobInitSolve ( SCIP_PROB * prob,
SCIP_SET * set )

initializes problem for branch and bound process

initializes problem for branch and bound process and resets all constraint's ages and histories of current run

Parameters
probproblem data
setglobal SCIP settings

Definition at line 2299 of file prob.c.

References assert(), c, SCIP_Prob::conss, SCIP_Prob::nconss, SCIP_Prob::nobjvars, NULL, SCIP_Prob::nvars, SCIP_Prob::probdata, SCIP_CALL, SCIP_OKAY, SCIPconsResetAge(), SCIPprobGetNObjVars(), SCIPvarInitSolve(), SCIP_Prob::transformed, and SCIP_Prob::vars.

Referenced by initSolve().

◆ SCIPprobExitSolve()

SCIP_RETCODE SCIPprobExitSolve ( SCIP_PROB * prob,
BMS_BLKMEM * blkmem,
SCIP_SET * set,
SCIP_EVENTQUEUE * eventqueue,
SCIP_LP * lp,
SCIP_Bool restart )

deinitializes problem after branch and bound process, and converts all COLUMN variables back into LOOSE variables

Parameters
probproblem data
blkmemblock memory
setglobal SCIP settings
eventqueueevent queue
lpcurrent LP data
restartwas this exit solve call triggered by a restart?

Definition at line 2334 of file prob.c.

References assert(), SCIP_Prob::ncolvars, NULL, SCIP_Prob::nvars, SCIP_Prob::probdata, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPprobDelVar(), SCIPsetDebugMsg, SCIPvarGetName(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetNUses(), SCIPvarGetStatus(), SCIPvarIsDeletable(), SCIPvarIsRelaxationOnly(), SCIPvarLoose(), SCIPvarSetBestRootSol(), SCIP_Prob::transformed, var, and SCIP_Prob::vars.

Referenced by freeReoptSolve(), and freeSolve().

◆ SCIPprobSetName()

SCIP_RETCODE SCIPprobSetName ( SCIP_PROB * prob,
const char * name )

sets problem name

Parameters
probproblem data
namename to be set

Definition at line 2409 of file prob.c.

References assert(), BMSduplicateMemoryArray, BMSfreeMemoryArray, SCIP_Prob::name, NULL, SCIP_ALLOC, and SCIP_OKAY.

Referenced by SCIPsetProbName().

◆ SCIPprobGetNObjVars()

int SCIPprobGetNObjVars ( SCIP_PROB * prob,
SCIP_SET * set )

returns the number of variables with non-zero objective coefficient

Parameters
probproblem data
setglobal SCIP settings

Definition at line 2423 of file prob.c.

References assert(), SCIP_Prob::nobjvars, SCIP_Prob::nvars, SCIPsetIsZero(), SCIPvarGetObj(), SCIP_Prob::transformed, and SCIP_Prob::vars.

Referenced by SCIPcertificatePrintDualboundPseudo(), SCIPgetNObjVars(), SCIPprobCollectStatistics(), SCIPprobInitSolve(), SCIPprobPrintStatistics(), SCIPprobTransform(), and SCIPprobUpdateBestRootSol().

◆ SCIPprobGetAbsMinObjCoef()

SCIP_Real SCIPprobGetAbsMinObjCoef ( SCIP_PROB * prob,
SCIP_SET * set )

returns the minimal absolute non-zero objective coefficient

Note
currently, this is only used for statistics and printed after the solving process. if this information is needed during the (pre)solving process this should be implemented more efficiently, e.g., updating the minimal absolute non-zero coefficient every time an objective coefficient has changed.
Parameters
probproblem data
setglobal SCIP settings

Definition at line 2470 of file prob.c.

References SCIP_Prob::nvars, REALABS, SCIP_Real, SCIPsetInfinity(), SCIPsetIsLT(), SCIPsetIsZero(), SCIPvarGetObj(), and SCIP_Prob::vars.

Referenced by SCIPprobCollectStatistics(), and SCIPprobPrintStatistics().

◆ SCIPprobGetAbsMaxObjCoef()

SCIP_Real SCIPprobGetAbsMaxObjCoef ( SCIP_PROB * prob,
SCIP_SET * set )

returns the maximal absolute non-zero objective coefficient

Note
currently, this is only used for statistics and printed after the solving process. if this information is needed during the (pre)solving process this should be implemented more efficiently, e.g., updating the maximal absolute non-zero coefficient every time an objective coefficient has changed.
Parameters
probproblem data
setglobal SCIP settings

Definition at line 2497 of file prob.c.

References SCIP_Prob::nvars, REALABS, SCIP_Real, SCIPsetInfinity(), SCIPsetIsGT(), SCIPsetIsZero(), SCIPvarGetObj(), and SCIP_Prob::vars.

Referenced by SCIPprobCollectStatistics(), and SCIPprobPrintStatistics().

◆ SCIPprobUpdateNObjVars()

void SCIPprobUpdateNObjVars ( SCIP_PROB * prob,
SCIP_SET * set,
SCIP_Real oldobj,
SCIP_Real newobj )

update the number of variables with non-zero objective coefficient

Parameters
probproblem data
setglobal SCIP settings
oldobjold objective value for variable
newobjnew objective value for variable

Definition at line 1874 of file prob.c.

References assert(), newobj, SCIP_Prob::nobjvars, oldobj, SCIP_Real, SCIPsetIsZero(), and SCIP_Prob::transformed.

Referenced by SCIPprobAddVar(), SCIPprobPerformVarDeletions(), SCIPvarAddObj(), SCIPvarAddObjExact(), SCIPvarChgObj(), and SCIPvarChgObjExact().

◆ SCIPprobUpdateDualbound()

void SCIPprobUpdateDualbound ( SCIP_PROB * prob,
SCIP_Real newbound )

update the dual bound if its better as the current one

Parameters
probproblem data
newboundnew dual bound for the node (if it's tighter than the old one)

Definition at line 1891 of file prob.c.

References SCIP_Prob::dualbound, MAX, MIN, SCIP_Prob::objsense, SCIP_INVALID, SCIP_OBJSENSE_MAXIMIZE, SCIP_OBJSENSE_MINIMIZE, SCIP_Real, SCIPABORT, SCIPerrorMessage, and SCIPprobSetDualbound().

Referenced by freeSolve(), SCIPupdateLocalDualbound(), and SCIPupdateLocalLowerbound().

◆ SCIPprobInvalidateDualbound()

void SCIPprobInvalidateDualbound ( SCIP_PROB * prob)

invalidates the dual bound

Parameters
probproblem data

Definition at line 1918 of file prob.c.

References assert(), SCIP_Prob::dualbound, NULL, and SCIP_INVALID.

Referenced by freeReoptSolve().

◆ SCIPprobExternObjval()

◆ SCIPprobExternObjvalExact()

void SCIPprobExternObjvalExact ( SCIP_PROB * transprob,
SCIP_PROB * origprob,
SCIP_SET * set,
SCIP_RATIONAL * objval,
SCIP_RATIONAL * objvalext )

computes the exact external value of the given internal objective value

returns the external value of the given internal objective value

Parameters
transprobtranformed problem data
origproboriginal problem data
setglobal SCIP settings
objvalinternal objective value
objvalextstore external objective value

Definition at line 2546 of file prob.c.

References assert(), NULL, SCIP_Prob::objoffsetexact, SCIP_Prob::objscaleexact, SCIP_Prob::objsense, objval, SCIP_Real, SCIPrationalAdd(), SCIPrationalIsAbsInfinity(), SCIPrationalIsPositive(), SCIPrationalMult(), SCIPrationalMultReal(), and SCIP_Prob::transformed.

Referenced by SCIPgetDualboundExact(), SCIPgetPrimalboundExact(), SCIPgetSolOrigObjExact(), and SCIPprintSolExact().

◆ SCIPprobInternObjval()

SCIP_Real SCIPprobInternObjval ( SCIP_PROB * transprob,
SCIP_PROB * origprob,
SCIP_SET * set,
SCIP_Real objval )

◆ SCIPprobInternObjvalExact()

void SCIPprobInternObjvalExact ( SCIP_PROB * transprob,
SCIP_PROB * origprob,
SCIP_SET * set,
SCIP_RATIONAL * objval,
SCIP_RATIONAL * objvalint )

returns the internal value of the given external objective value

Parameters
transprobtranformed problem data
origproboriginal problem data
setglobal SCIP settings
objvalinternal objective value
objvalintstore internal objective value

Definition at line 2599 of file prob.c.

References assert(), NULL, SCIP_Prob::objoffsetexact, SCIP_Prob::objscaleexact, SCIP_Prob::objsense, objval, SCIP_Real, SCIPrationalDiff(), SCIPrationalDiv(), SCIPrationalIsAbsInfinity(), SCIPrationalIsPositive(), SCIPrationalMultReal(), and SCIP_Prob::transformed.

Referenced by SCIPprimalUpdateObjoffsetExact(), and SCIPsolGetObjExact().

◆ SCIPprobFindVar()

SCIP_VAR * SCIPprobFindVar ( SCIP_PROB * prob,
const char * name )

returns variable of the problem with given name

Parameters
probproblem data
namename of variable to find

Definition at line 2626 of file prob.c.

References assert(), NULL, SCIPABORT, SCIPerrorMessage, SCIPhashtableRetrieve(), and SCIP_Prob::varnames.

Referenced by SCIPfindVar(), and SCIPreaderWrite().

◆ SCIPprobFindCons()

SCIP_CONS * SCIPprobFindCons ( SCIP_PROB * prob,
const char * name )

returns constraint of the problem with given name

Parameters
probproblem data
namename of variable to find

Definition at line 2645 of file prob.c.

References assert(), SCIP_Prob::consnames, NULL, SCIPABORT, SCIPerrorMessage, and SCIPhashtableRetrieve().

Referenced by SCIPfindCons(), SCIPfindOrigCons(), and SCIPreaderWrite().

◆ SCIPprobPrintPseudoSol()

void SCIPprobPrintPseudoSol ( SCIP_PROB * prob,
SCIP_SET * set,
SCIP_MESSAGEHDLR * messagehdlr )

displays current pseudo solution

Parameters
probproblem data
setglobal SCIP settings
messagehdlrmessage handler

Definition at line 2664 of file prob.c.

References assert(), NULL, SCIP_Prob::nvars, SCIP_Real, SCIPmessagePrintInfo(), SCIPsetIsZero(), SCIPvarGetName(), SCIPvarGetPseudoSol(), var, and SCIP_Prob::vars.

◆ SCIPprobPrintStatistics()

◆ SCIPprobCollectStatistics()

◆ SCIPprobIsPermuted()

SCIP_Bool SCIPprobIsPermuted ( SCIP_PROB * prob)

is the problem permuted

Definition at line 2783 of file prob.c.

References assert(), NULL, SCIP_Prob::permuted, and SCIP_Bool.

Referenced by SCIPpermuteProb().

◆ SCIPprobMarkPermuted()

void SCIPprobMarkPermuted ( SCIP_PROB * prob)

mark the problem as permuted

Definition at line 2793 of file prob.c.

References assert(), NULL, SCIP_Prob::permuted, and TRUE.

Referenced by SCIPpermuteProb().

◆ SCIPprobIsTransformed()

SCIP_Bool SCIPprobIsTransformed ( SCIP_PROB * prob)

◆ SCIPprobIsObjIntegral()

SCIP_Bool SCIPprobIsObjIntegral ( SCIP_PROB * prob)

◆ SCIPprobAllColsInLP()

SCIP_Bool SCIPprobAllColsInLP ( SCIP_PROB * prob,
SCIP_SET * set,
SCIP_LP * lp )

returns TRUE iff all columns, i.e. every variable with non-empty column w.r.t. all ever created rows, are present in the LP, and FALSE, if there are additional already existing columns, that may be added to the LP in pricing

Parameters
probproblem data
setglobal SCIP settings
lpcurrent LP data

Definition at line 2825 of file prob.c.

References assert(), SCIP_Prob::ncolvars, SCIP_Prob::nvars, SCIP_Bool, and SCIPlpGetNCols().

Referenced by conflictAnalyzeBoundexceedingLP(), conflictAnalyzeInfeasibleLP(), conflictAnalyzeLP(), priceAndCutLoop(), propAndSolve(), SCIPaddRow(), SCIPallColsInLP(), SCIPconflictAnalyzeLP(), SCIPconflictAnalyzeStrongbranch(), SCIPgetVarsStrongbranchesFrac(), SCIPgetVarsStrongbranchesInt(), SCIPgetVarStrongbranchFrac(), SCIPgetVarStrongbranchInt(), SCIPlpSolveAndEval(), SCIPpriceLoop(), SCIPrunBoundHeuristic(), SCIPsolveDiveLP(), SCIPtreeEndProbing(), solveNodeInitialLP(), and solveProbingLP().

◆ SCIPprobGetObjlim()

SCIP_Real SCIPprobGetObjlim ( SCIP_PROB * prob,
SCIP_SET * set )

◆ SCIPprobGetData()

SCIP_PROBDATA * SCIPprobGetData ( SCIP_PROB * prob)

gets user problem data

Parameters
probproblem

Definition at line 2849 of file prob.c.

References assert(), NULL, and SCIP_Prob::probdata.

Referenced by SCIPgetProbData(), and SCIPreaderWrite().

◆ SCIPprobGetName()

const char * SCIPprobGetName ( SCIP_PROB * prob)

gets problem name

Parameters
probproblem data

Definition at line 2859 of file prob.c.

References assert(), SCIP_Prob::name, and NULL.

Referenced by detectImpliedBounds(), initSolve(), SCIPgetProbName(), SCIPprobFree(), SCIPreaderWrite(), SCIPshrinkDisjunctiveVarSet(), SCIPtransformProb(), SCIPvarCapture(), and SCIPvarRelease().

◆ SCIPprobGetNVars()

◆ SCIPprobGetNBinVars()

int SCIPprobGetNBinVars ( SCIP_PROB * prob)

gets number of binary problem variables

Parameters
probproblem data

Definition at line 2877 of file prob.c.

References assert(), SCIP_Prob::nbinvars, and NULL.

Referenced by SCIPbranchcandGetPseudoCands(), SCIPreaderWrite(), SCIPshrinkDisjunctiveVarSet(), and SCIPsolAdjustImplicitSolVals().

◆ SCIPprobGetNIntVars()

int SCIPprobGetNIntVars ( SCIP_PROB * prob)

gets number of integer problem variables

Parameters
probproblem data

Definition at line 2886 of file prob.c.

References assert(), SCIP_Prob::nintvars, and NULL.

Referenced by SCIPbranchcandGetPseudoCands(), SCIPreaderWrite(), and SCIPsolAdjustImplicitSolVals().

◆ SCIPprobGetNImplVars()

◆ SCIPprobGetNContVars()

int SCIPprobGetNContVars ( SCIP_PROB * prob)

gets number of continuous problem variables

Parameters
probproblem data

Definition at line 2904 of file prob.c.

References assert(), SCIP_Prob::ncontvars, and NULL.

Referenced by SCIPreaderWrite(), SCIPshrinkDisjunctiveVarSet(), and SCIPvarGetImplRedcost().

◆ SCIPprobGetVars()

◆ SCIPprobGetNFixedVars()

int SCIPprobGetNFixedVars ( SCIP_PROB * prob)

gets number of fixed variables

Parameters
probproblem data

Definition at line 2922 of file prob.c.

References assert(), SCIP_Prob::nfixedvars, and NULL.

Referenced by SCIPreaderWrite().

◆ SCIPprobGetFixedVars()

SCIP_VAR ** SCIPprobGetFixedVars ( SCIP_PROB * prob)

gets fixed variables

Parameters
probproblem data

Definition at line 2931 of file prob.c.

References assert(), SCIP_Prob::fixedvars, and NULL.

Referenced by SCIPreaderWrite().

◆ SCIPprobGetStartNVars()

int SCIPprobGetStartNVars ( SCIP_PROB * prob)

gets number of variables existing when problem solving started

Parameters
probproblem data

Definition at line 2940 of file prob.c.

References assert(), NULL, and SCIP_Prob::startnvars.

Referenced by SCIPreaderWrite().

◆ SCIPprobGetNConss()

int SCIPprobGetNConss ( SCIP_PROB * prob)

gets number of problem constraints

Parameters
probproblem data

Definition at line 2949 of file prob.c.

References assert(), SCIP_Prob::nconss, and NULL.

Referenced by initConflictstore(), SCIPreaderWrite(), and SCIPreoptSaveActiveConss().

◆ SCIPprobGetConss()

SCIP_CONS ** SCIPprobGetConss ( SCIP_PROB * prob)

gets problem constraints

Parameters
probproblem data

Definition at line 2958 of file prob.c.

References assert(), SCIP_Prob::conss, and NULL.

Referenced by SCIPreaderWrite(), and SCIPreoptSaveActiveConss().

◆ SCIPprobGetMaxNConss()

int SCIPprobGetMaxNConss ( SCIP_PROB * prob)

gets maximum number of constraints existing at the same time

Parameters
probproblem data

Definition at line 2967 of file prob.c.

References assert(), SCIP_Prob::maxnconss, and NULL.

Referenced by SCIPreaderWrite().

◆ SCIPprobGetStartNConss()

int SCIPprobGetStartNConss ( SCIP_PROB * prob)

gets number of constraints existing when problem solving started

Parameters
probproblem data

Definition at line 2976 of file prob.c.

References assert(), NULL, and SCIP_Prob::startnconss.

Referenced by SCIPreaderWrite().

◆ SCIPprobGetObjsense()

SCIP_OBJSENSE SCIPprobGetObjsense ( SCIP_PROB * prob)

gets the objective sense

Parameters
probproblem data

Definition at line 2985 of file prob.c.

References assert(), NULL, and SCIP_Prob::objsense.

Referenced by primalAddSol(), and SCIPreaderWrite().

◆ SCIPprobGetObjoffset()

SCIP_Real SCIPprobGetObjoffset ( SCIP_PROB * prob)

gets the objective offset

Parameters
probproblem data

Definition at line 2994 of file prob.c.

References assert(), NULL, SCIP_Prob::objoffset, and SCIP_Real.

Referenced by SCIPreaderWrite(), and SCIPsolRecomputeObj().

◆ SCIPprobGetObjscale()

SCIP_Real SCIPprobGetObjscale ( SCIP_PROB * prob)

gets the objective scalar

Parameters
probproblem data

Definition at line 3004 of file prob.c.

References assert(), NULL, SCIP_Prob::objscale, and SCIP_Real.

Referenced by SCIPreaderWrite().

◆ SCIPprobGetObjoffsetExact()

SCIP_RATIONAL * SCIPprobGetObjoffsetExact ( SCIP_PROB * prob)

gets the exact objective offset

Parameters
probproblem data

Definition at line 3014 of file prob.c.

References assert(), NULL, and SCIP_Prob::objoffsetexact.

Referenced by SCIPreaderWrite().

◆ SCIPprobGetObjscaleExact()

SCIP_RATIONAL * SCIPprobGetObjscaleExact ( SCIP_PROB * prob)

gets the exact objective scalar

Parameters
probproblem data

Definition at line 3025 of file prob.c.

References assert(), NULL, and SCIP_Prob::objscaleexact.

Referenced by SCIPreaderWrite().

◆ SCIPprobIsConsCompressionEnabled()

SCIP_Bool SCIPprobIsConsCompressionEnabled ( SCIP_PROB * prob)

is constraint compression enabled for this problem?

Parameters
probproblem data

Definition at line 3036 of file prob.c.

References assert(), SCIP_Prob::conscompression, NULL, and SCIP_Bool.

Referenced by SCIPisConsCompressionEnabled().

◆ SCIPprobEnableConsCompression()

void SCIPprobEnableConsCompression ( SCIP_PROB * prob)

enable problem compression, i.e., constraints can reduce memory size by removing fixed variables during creation

Parameters
probproblem data

Definition at line 3046 of file prob.c.

References assert(), SCIP_Prob::conscompression, NULL, and TRUE.

Referenced by SCIPenableConsCompression().