Methods and datastructures for storing and manipulating the main problem.
Definition in file prob.c.
#include "scip/branch.h"#include "scip/conflictstore.h"#include "scip/cons.h"#include "scip/datatree.h"#include "scip/event.h"#include "scip/lp.h"#include "scip/lpexact.h"#include "scip/primal.h"#include "scip/prob.h"#include "scip/pub_cons.h"#include "scip/pub_lp.h"#include "scip/pub_message.h"#include "scip/pub_misc.h"#include "scip/pub_misc_sort.h"#include "scip/pub_var.h"#include "scip/rational.h"#include "scip/set.h"#include "scip/stat.h"#include "scip/struct_cons.h"#include "scip/struct_lp.h"#include "scip/struct_prob.h"#include "scip/struct_set.h"#include "scip/struct_stat.h"#include "scip/struct_var.h"#include "scip/var.h"#include <string.h>Go to the source code of this file.
Macros | |
| #define | OBJSCALE_MAXDNOM 1000000LL |
| #define | OBJSCALE_MAXSCALE 1000000.0 |
| #define | OBJSCALE_MAXFINALSCALE 1000.0 |
| #define OBJSCALE_MAXDNOM 1000000LL |
maximal denominator in objective integral scaling
Definition at line 60 of file prob.c.
Referenced by SCIPprobScaleObj().
| #define OBJSCALE_MAXSCALE 1000000.0 |
maximal scalar to reach objective integrality
Definition at line 61 of file prob.c.
Referenced by SCIPprobScaleObj().
| #define OBJSCALE_MAXFINALSCALE 1000.0 |
maximal final value to apply as scaling
Definition at line 62 of file prob.c.
Referenced by probScaleObjExact(), and SCIPprobScaleObj().
|
static |
resizes vars array to be able to store at least num entries
| prob | problem data |
| set | global SCIP settings |
| num | minimal number of slots in array |
Definition at line 72 of file prob.c.
References assert(), BMSreallocMemoryArray, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIP_Prob::vars, and SCIP_Prob::varssize.
Referenced by SCIPprobAddVar(), and SCIPprobTransform().
|
static |
resizes fixedvars array to be able to store at least num entries
| prob | problem data |
| set | global SCIP settings |
| num | minimal number of slots in array |
Definition at line 96 of file prob.c.
References assert(), BMSreallocMemoryArray, SCIP_Prob::fixedvars, SCIP_Prob::fixedvarssize, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPprobVarChangedStatus().
|
static |
resizes deletedvars array to be able to store at least num entries
| prob | problem data |
| set | global SCIP settings |
| num | minimal number of slots in array |
Definition at line 120 of file prob.c.
References assert(), BMSreallocMemoryArray, SCIP_Prob::deletedvars, SCIP_Prob::deletedvarssize, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPprobDelVar().
|
static |
resizes conss array to be able to store at least num entries
| prob | problem data |
| set | global SCIP settings |
| num | minimal number of slots in array |
Definition at line 144 of file prob.c.
References assert(), BMSreallocMemoryArray, SCIP_Prob::conss, SCIP_Prob::consssize, NULL, SCIP_Prob::origcheckconss, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPprobAddCons().
returns whether the constraint has a name
| cons | constraint |
Definition at line 173 of file prob.c.
References NULL, SCIP_Bool, and SCIPconsGetName().
Referenced by SCIPprobAddConsName(), and SCIPprobRemoveConsName().
returns whether the variable has a name
| var | variable |
Definition at line 186 of file prob.c.
References NULL, SCIP_Bool, SCIPvarGetName(), and var.
Referenced by SCIPprobAddVarName(), and SCIPprobRemoveVarName().
| 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.
| prob | pointer to problem data structure |
| blkmem | block memory |
| set | global SCIP settings |
| name | problem name |
| sourcescip | source SCIP data structure |
| sourceprob | source problem structure |
| varmap | a hashmap to store the mapping of source variables corresponding target variables |
| consmap | a hashmap to store the mapping of source constraints to the corresponding target constraints |
| original | copy original or transformed problem? |
| global | create 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().
| 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.
| prob | pointer to problem data structure |
| blkmem | block memory |
| set | global SCIP settings |
| name | problem name |
| probdata | user problem data set by the reader |
| transformed | is 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().
| void SCIPprobSetDelorig | ( | SCIP_PROB * | prob | ) |
sets callback to free user data of original problem
| prob | problem frees user data of original problem |
Definition at line 368 of file prob.c.
References assert(), NULL, and SCIP_DECL_PROBDELORIG.
Referenced by SCIPsetProbDelorig().
| void SCIPprobSetTrans | ( | SCIP_PROB * | prob | ) |
sets callback to create user data of transformed problem by transforming original user data
| prob | problem 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().
| void SCIPprobSetDeltrans | ( | SCIP_PROB * | prob | ) |
sets callback to free user data of transformed problem
| prob | problem frees user data of transformed problem |
Definition at line 390 of file prob.c.
References assert(), and NULL.
Referenced by SCIPsetProbDeltrans().
| void SCIPprobSetInitsol | ( | SCIP_PROB * | prob | ) |
sets solving process initialization callback of transformed data
| prob | problem 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().
| void SCIPprobSetExitsol | ( | SCIP_PROB * | prob | ) |
sets solving process deinitialization callback of transformed data
| prob | problem 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().
| void SCIPprobSetCopy | ( | SCIP_PROB * | prob | ) |
sets callback to copy user data to copy it to a subscip, or NULL
| prob | problem 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().
| 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
| prob | pointer to problem data structure |
| messagehdlr | message handler |
| blkmem | block memory buffer |
| set | global SCIP settings |
| stat | dynamic problem statistics |
| eventqueue | event queue |
| lp | current 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().
| 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
| source | problem to transform |
| blkmem | block memory buffer |
| set | global SCIP settings |
| stat | problem statistics |
| primal | primal data |
| tree | branch and bound tree |
| reopt | reoptimization data structure |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| eventfilter | global event filter |
| conflictstore | conflict store |
| target | pointer 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().
| 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
| prob | original problem data |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem 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().
| 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)
| prob | problem 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().
| SCIP_RETCODE SCIPprobSortConssCheck | ( | SCIP_PROB * | prob | ) |
possibly create and sort the constraints according to check priorties
| prob | problem 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().
| void SCIPprobSetData | ( | SCIP_PROB * | prob, |
| SCIP_PROBDATA * | probdata ) |
sets user problem data
| prob | problem |
| probdata | user problem data to use |
Definition at line 778 of file prob.c.
References assert(), NULL, and SCIP_Prob::probdata.
Referenced by SCIPsetProbData().
|
static |
moves the first behind the last variable for each extended variable type in reverse order until the given one and returns the cleared variable position in the given problem
| prob | problem data |
| vartype | type of the variable to be inserted |
| impltype | implied type of the variable to be inserted |
Definition at line 792 of file prob.c.
References assert(), SCIP_Prob::nbinimplvars, SCIP_Prob::nbinvars, SCIP_Prob::ncontimplvars, SCIP_Prob::ncontvars, SCIP_Prob::nintimplvars, SCIP_Prob::nintvars, SCIP_Prob::nvars, SCIP_IMPLINTTYPE_NONE, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_INTEGER, SCIPvarSetProbindex(), and SCIP_Prob::vars.
Referenced by probInsertVar().
inserts variable at the correct position in vars array, depending on its extended variable type
| prob | problem data |
| var | variable to insert |
Definition at line 887 of file prob.c.
References assert(), SCIP_Prob::nbinimplvars, SCIP_Prob::nbinvars, SCIP_Prob::ncolvars, SCIP_Prob::ncontimplvars, SCIP_Prob::ncontvars, SCIP_Prob::nintimplvars, SCIP_Prob::nintvars, NULL, SCIP_Prob::nvars, probProvidePos(), SCIP_IMPLINTTYPE_NONE, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_INTEGER, SCIPvarGetImplType(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarSetProbindex(), SCIP_Prob::transformed, var, SCIP_Prob::vars, and SCIP_Prob::varssize.
Referenced by SCIPprobAddVar(), SCIPprobChgVarImplType(), and SCIPprobChgVarType().
|
static |
removes variable from vars array
| prob | problem data |
| blkmem | block memory |
| cliquetable | clique table data structure |
| set | global SCIP settings |
| var | variable to remove |
| isupgraded | is the variable removed for the purpose of upgrading its variable type? |
Definition at line 929 of file prob.c.
References assert(), FALSE, SCIP_Prob::nbinimplvars, SCIP_Prob::nbinvars, SCIP_Prob::ncolvars, SCIP_Prob::ncontimplvars, SCIP_Prob::ncontvars, SCIP_Prob::nintimplvars, SCIP_Prob::nintvars, NULL, nvars, SCIP_Prob::nvars, SCIP_Bool, SCIP_CALL, SCIP_IMPLINTTYPE_NONE, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_INTEGER, SCIPerrorMessage, SCIPvarGetImplType(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarRemove(), SCIPvarSetProbindex(), var, and SCIP_Prob::vars.
Referenced by SCIPprobChgVarImplType(), SCIPprobChgVarType(), SCIPprobPerformVarDeletions(), and SCIPprobVarChangedStatus().
| SCIP_RETCODE SCIPprobAddVarName | ( | SCIP_PROB * | prob, |
| SCIP_VAR * | var ) |
adds variable's name to the namespace
| prob | problem data |
| var | variable |
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().
| SCIP_RETCODE SCIPprobRemoveVarName | ( | SCIP_PROB * | prob, |
| SCIP_VAR * | var ) |
removes variable's name from the namespace
| prob | problem data |
| var | variable |
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().
| 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 ) |
adds variable to the problem and captures it
| prob | problem data |
| blkmem | block memory buffers |
| set | global SCIP settings |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| eventfilter | global event filter |
| var | variable to add |
Definition at line 1096 of file prob.c.
References assert(), SCIP_Lp::lpexact, SCIP_Prob::nbinimplvars, SCIP_Prob::nbinvars, SCIP_Prob::ncontimplvars, SCIP_Prob::ncontvars, SCIP_Prob::nintimplvars, SCIP_Prob::nintvars, NULL, SCIP_Prob::nvars, SCIP_Prob::objisintegral, probEnsureVarsMem(), probInsertVar(), SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_TRANSFORMING, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_ORIGINAL, SCIPbranchcandUpdateVar(), SCIPerrorMessage, SCIPeventCreateVarAdded(), SCIPeventqueueAdd(), SCIPlpExactUpdateAddVar(), SCIPlpUpdateAddVar(), SCIPprobAddVarName(), SCIPprobGetNImplVars(), SCIPprobUpdateNObjVars(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsIntegral(), SCIPsetIsZero(), SCIPvarCapture(), SCIPvarGetName(), SCIPvarGetObj(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIP_Prob::transformed, and var.
Referenced by SCIPaddPricedVar(), SCIPaddVar(), SCIPprobTransform(), tryAggregateIntVars(), and tryAggregateIntVarsExact().
| SCIP_RETCODE SCIPprobDelVar | ( | SCIP_PROB * | prob, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_VAR * | var, | ||
| SCIP_Bool * | deleted ) |
marks variable to be removed from the problem; however, the variable is NOT removed from the constraints
| prob | problem data |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue |
| var | problem variable |
| deleted | pointer to store whether marking variable to be deleted was successful |
Definition at line 1171 of file prob.c.
References assert(), SCIP_Prob::deletedvars, FALSE, SCIP_Prob::nbinimplvars, SCIP_Prob::nbinvars, SCIP_Prob::ncontimplvars, SCIP_Prob::ncontvars, SCIP_Prob::ndeletedvars, SCIP_Prob::nintimplvars, SCIP_Prob::nintvars, NULL, SCIP_Prob::nvars, probEnsureDeletedvarsMem(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_ORIGINAL, SCIPeventCreateVarDeleted(), SCIPeventqueueAdd(), SCIPprobGetNImplVars(), SCIPsetDebugMsg, SCIPvarGetName(), SCIPvarGetNegatedVar(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarIsTransformedOrigvar(), SCIPvarMarkDeleted(), SCIP_Prob::transformed, TRUE, and var.
Referenced by focusnodeCleanupVars(), SCIPdelVar(), and SCIPprobExitSolve().
| 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
| prob | problem data |
| blkmem | block memory |
| set | global SCIP settings |
| stat | dynamic problem statistics |
| eventqueue | event queue |
| cliquetable | clique table data structure |
| lp | current LP data (may be NULL) |
| branchcand | branching 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().
| 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
| prob | problem data |
| blkmem | block memory |
| set | global SCIP settings |
| primal | primal data |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| cliquetable | clique table data structure |
| var | variable to change type of |
| vartype | new 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().
| 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
| prob | problem data |
| blkmem | block memory |
| set | global SCIP settings |
| primal | primal data |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| cliquetable | clique table data structure |
| var | variable to change implied integral type of |
| impltype | new 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().
| SCIP_RETCODE SCIPprobVarChangedStatus | ( | SCIP_PROB * | prob, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_VAR * | var ) |
informs problem, that the given loose problem variable changed its status
| prob | problem data |
| blkmem | block memory |
| set | global SCIP settings |
| branchcand | branching candidate storage |
| cliquetable | clique table data structure |
| var | problem variable |
Definition at line 1412 of file prob.c.
References assert(), FALSE, SCIP_Prob::fixedvars, SCIP_Prob::ncolvars, SCIP_Prob::nfixedvars, NULL, SCIP_Prob::nvars, probEnsureFixedvarsMem(), probRemoveVar(), 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, SCIPbranchcandUpdateVar(), SCIPerrorMessage, SCIPvarGetProbindex(), SCIPvarGetStatus(), and var.
Referenced by SCIPvarAggregate(), SCIPvarAggregateExact(), SCIPvarColumn(), SCIPvarFix(), SCIPvarFixExact(), SCIPvarLoose(), SCIPvarMultiaggregate(), and SCIPvarMultiaggregateExact().
| SCIP_RETCODE SCIPprobAddConsName | ( | SCIP_PROB * | prob, |
| SCIP_CONS * | cons ) |
adds constraint's name to the namespace
| prob | problem data |
| cons | constraint |
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().
| SCIP_RETCODE SCIPprobRemoveConsName | ( | SCIP_PROB * | prob, |
| SCIP_CONS * | cons ) |
remove constraint's name from the namespace
| prob | problem data |
| cons | constraint |
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().
| SCIP_RETCODE SCIPprobAddCons | ( | SCIP_PROB * | prob, |
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_CONS * | cons ) |
adds constraint to the problem and captures it; a local constraint is automatically upgraded into a global constraint
| prob | problem data |
| set | global SCIP settings |
| stat | dynamic problem statistics |
| cons | constraint to add |
Definition at line 1507 of file prob.c.
References SCIP_Cons::addarraypos, SCIP_Cons::addconssetchg, assert(), SCIP_Prob::conss, SCIP_Prob::consschecksorted, SCIP_Cons::deleted, FALSE, MAX, SCIP_Prob::maxnconss, SCIP_Stat::nactiveconssadded, SCIP_Prob::nconss, SCIP_Stat::nnodes, NULL, SCIP_Prob::origcheckconss, probEnsureConssMem(), SCIP_Cons::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIPconsActivate(), SCIPconsAddLocks(), SCIPconsCapture(), SCIPconsGetName(), SCIPconsIsActive(), SCIPconsIsChecked(), SCIPconsSetLocal(), SCIPerrorMessage, SCIPprobAddConsName(), SCIPsetDebugMsg, and SCIP_Prob::transformed.
Referenced by createAndAddProofcons(), SCIPaddCons(), SCIPaddConsNode(), SCIPconssetchgMakeGlobal(), SCIPprobTransform(), and tightenSingleVar().
| 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
| prob | problem data |
| blkmem | block memory |
| set | global SCIP settings |
| stat | dynamic problem statistics |
| cons | constraint 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().
| void SCIPprobMarkNConss | ( | SCIP_PROB * | prob | ) |
remembers the current number of constraints in the problem's internal data structure
| prob | problem 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().
| void SCIPprobSetObjsense | ( | SCIP_PROB * | prob, |
| SCIP_OBJSENSE | objsense ) |
sets objective sense: minimization or maximization
| prob | problem data |
| objsense | new 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().
adds value to objective offset
| prob | problem data |
| addval | value 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().
| void SCIPprobAddObjoffsetExact | ( | SCIP_PROB * | prob, |
| SCIP_RATIONAL * | addval ) |
adds value to objective offset
| prob | problem data |
| addval | value 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().
sets the dual bound on objective function
| prob | problem data |
| dualbound | external 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().
sets limit on objective function, such that only solutions better than this limit are accepted
| prob | problem data |
| objlim | external 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().
| void SCIPprobSetObjIntegral | ( | SCIP_PROB * | prob | ) |
informs the problem, that its objective value is always integral in every feasible solution
| prob | problem data |
Definition at line 1724 of file prob.c.
References assert(), NULL, SCIP_Prob::objisintegral, and TRUE.
Referenced by SCIPsetObjIntegral().
|
static |
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
| transprob | tranformed problem data |
| origprob | original problem data |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics data |
| primal | primal data |
| tree | branch and bound tree |
| reopt | reoptimization data structure |
| lp | current LP data |
| eventqueue | event queue |
| eventfilter | global event filter |
Definition at line 1737 of file prob.c.
References assert(), EPSISINT, NULL, SCIP_Prob::nvars, obj, SCIP_Prob::objisintegral, SCIP_Prob::objoffset, SCIP_CALL, SCIP_OKAY, SCIPprimalUpdateObjoffset(), SCIPrationalIsIntegral(), SCIPrationalIsZero(), SCIPvarGetObjExact(), SCIPvarIsIntegral(), TRUE, and SCIP_Prob::vars.
Referenced by 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
| transprob | tranformed problem data |
| origprob | original problem data |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics data |
| primal | primal data |
| tree | branch and bound tree |
| reopt | reoptimization data structure |
| lp | current LP data |
| eventqueue | event queue |
| eventfilter | global 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().
| void SCIPprobUpdateNObjVars | ( | SCIP_PROB * | prob, |
| SCIP_SET * | set, | ||
| SCIP_Real | oldobj, | ||
| SCIP_Real | newobj ) |
update the number of variables with non-zero objective coefficient
| prob | problem data |
| set | global SCIP settings |
| oldobj | old objective value for variable |
| newobj | new 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().
update the dual bound if its better as the current one
| prob | problem data |
| newbound | new 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().
| void SCIPprobInvalidateDualbound | ( | SCIP_PROB * | prob | ) |
invalidates the dual bound
| prob | problem data |
Definition at line 1918 of file prob.c.
References assert(), SCIP_Prob::dualbound, NULL, and SCIP_INVALID.
Referenced by freeReoptSolve().
|
static |
if possible, scales objective function such that it is integral with gcd = 1
| transprob | tranformed problem data |
| origprob | original problem data |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics data |
| primal | primal data |
| tree | branch and bound tree |
| reopt | reoptimization data structure |
| lp | current LP data |
| eventqueue | event queue |
| eventfilter | global event filter |
Definition at line 1929 of file prob.c.
References assert(), SCIP_Lp::lpexact, SCIP_Prob::ncontvars, NULL, SCIP_Prob::nvars, obj, SCIP_Prob::objisintegral, SCIP_Prob::objoffset, SCIP_Prob::objoffsetexact, SCIP_Prob::objscale, OBJSCALE_MAXFINALSCALE, SCIP_Prob::objscaleexact, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPcalcIntegralScalarExact(), SCIPprimalUpdateObjoffsetExact(), SCIPrationalCreateBuffer(), SCIPrationalCreateBufferArray(), SCIPrationalDebugMessage, SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalFreeBufferArray(), SCIPrationalGetReal(), SCIPrationalIsEQReal(), SCIPrationalIsIntegral(), SCIPrationalIsZero(), SCIPrationalMult(), SCIPrationalSetRational(), SCIPvarChgObjExact(), SCIPvarGetName(), SCIPvarGetObjExact(), TRUE, and SCIP_Prob::vars.
Referenced by 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
| transprob | tranformed problem data |
| origprob | original problem data |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics data |
| primal | primal data |
| tree | branch and bound tree |
| reopt | reoptimization data structure |
| lp | current LP data |
| eventqueue | event queue |
| eventfilter | global 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().
| 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
| prob | problem data |
| set | global SCIP settings |
| stat | SCIP statistics |
| lp | current LP data |
| roothaslp | is 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().
remembers the best solution w.r.t. root reduced cost propagation as root solution in the problem variables
| prob | problem data |
| set | global SCIP settings |
| stat | problem statistics |
| lp | current LP data |
Definition at line 2192 of file prob.c.
References assert(), FALSE, SCIP_Lp::lpsolstat, NULL, SCIP_Prob::nvars, primsol, rootsol, SCIP_BASESTAT_LOWER, SCIP_BASESTAT_UPPER, SCIP_Bool, SCIP_INVALID, SCIP_LPSOLSTAT_OPTIMAL, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPcolGetBasisStatus(), SCIPcolGetPrimsol(), SCIPcolGetRedcost(), SCIPlpGetObjval(), SCIPlpGetSolstat(), SCIPlpIsDualReliable(), SCIPlpIsSolBasic(), SCIPprobGetNObjVars(), SCIPsetDebugMsg, SCIPsetIsDualfeasNegative(), SCIPsetIsDualfeasPositive(), SCIPsetIsFeasEQ(), SCIPvarGetCol(), SCIPvarGetImplRedcost(), SCIPvarGetLbLocal(), SCIPvarGetSol(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarUpdateBestRootSol(), SCIP_Prob::transformed, TRUE, var, and SCIP_Prob::vars.
Referenced by priceAndCutLoop(), and propAndSolve().
| SCIP_RETCODE SCIPprobExitPresolve | ( | SCIP_PROB * | prob, |
| SCIP_SET * | set ) |
informs problem, that the presolving process was finished, and updates all internal data structures
| prob | problem data |
| set | global SCIP settings |
Definition at line 2290 of file prob.c.
References SCIP_OKAY.
Referenced by exitPresolve().
| SCIP_RETCODE SCIPprobInitSolve | ( | SCIP_PROB * | prob, |
| SCIP_SET * | set ) |
initializes problem for branch and bound process and resets all constraint's ages and histories of current run
| prob | problem data |
| set | global 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().
| 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
| prob | problem data |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue |
| lp | current LP data |
| restart | was 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().
| SCIP_RETCODE SCIPprobSetName | ( | SCIP_PROB * | prob, |
| const char * | name ) |
sets problem name
| prob | problem data |
| name | name 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().
returns the number of variables with non-zero objective coefficient
| prob | problem data |
| set | global 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().
returns the minimal absolute non-zero objective coefficient
| prob | problem data |
| set | global 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().
returns the maximal absolute non-zero objective coefficient
| prob | problem data |
| set | global 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().
| SCIP_Real SCIPprobExternObjval | ( | SCIP_PROB * | transprob, |
| SCIP_PROB * | origprob, | ||
| SCIP_SET * | set, | ||
| SCIP_Real | objval ) |
returns the external value of the given internal objective value
| transprob | tranformed problem data |
| origprob | original problem data |
| set | global SCIP settings |
| objval | internal objective value |
Definition at line 2520 of file prob.c.
References assert(), NULL, SCIP_Prob::objoffset, SCIP_Prob::objoffsetexact, SCIP_Prob::objscale, SCIP_Prob::objscaleexact, SCIP_Prob::objsense, objval, SCIP_Real, SCIPrationalGetReal(), SCIPsetInfinity(), SCIPsetIsInfinity(), and SCIP_Prob::transformed.
Referenced by applyBounding(), primalAddSol(), SCIPcopyConcurrentSolvingStats(), SCIPgetAvgDualbound(), SCIPgetConcurrentDualbound(), SCIPgetConcurrentPrimalbound(), SCIPgetDualbound(), SCIPgetDualboundRoot(), SCIPgetLocalDualbound(), SCIPgetLocalOrigEstimate(), SCIPgetNodeDualbound(), SCIPgetPrimalbound(), SCIPgetSolOrigObj(), SCIPprimalSetCutoffbound(), SCIPprintMIPStart(), SCIPprintSol(), SCIPretransformObj(), SCIPstatUpdatePrimalDualIntegrals(), SCIPupdateLocalDualbound(), SCIPupdateLocalLowerbound(), and solveNodeInitialLP().
| void SCIPprobExternObjvalExact | ( | SCIP_PROB * | transprob, |
| SCIP_PROB * | origprob, | ||
| SCIP_SET * | set, | ||
| SCIP_RATIONAL * | objval, | ||
| SCIP_RATIONAL * | objvalext ) |
returns the external value of the given internal objective value
| transprob | tranformed problem data |
| origprob | original problem data |
| set | global SCIP settings |
| objval | internal objective value |
| objvalext | store 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().
| SCIP_Real SCIPprobInternObjval | ( | SCIP_PROB * | transprob, |
| SCIP_PROB * | origprob, | ||
| SCIP_SET * | set, | ||
| SCIP_Real | objval ) |
returns the internal value of the given external objective value
| transprob | tranformed problem data |
| origprob | original problem data |
| set | global SCIP settings |
| objval | external objective value |
Definition at line 2573 of file prob.c.
References assert(), NULL, SCIP_Prob::objoffset, SCIP_Prob::objoffsetexact, SCIP_Prob::objscale, SCIP_Prob::objscaleexact, SCIP_Prob::objsense, objval, SCIP_Real, SCIPrationalGetReal(), SCIPsetInfinity(), SCIPsetIsInfinity(), and SCIP_Prob::transformed.
Referenced by initPresolve(), initSolve(), primalAddSol(), SCIPgetFirstLPLowerboundRoot(), SCIPprimalUpdateObjlimit(), SCIPprimalUpdateObjoffset(), SCIPsetObjlimit(), SCIPsolGetObj(), SCIPsolveCIP(), SCIPstatResetCurrentRun(), SCIPtransformObj(), SCIPupdateLocalDualbound(), and SCIPupdateNodeDualbound().
| 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
| transprob | tranformed problem data |
| origprob | original problem data |
| set | global SCIP settings |
| objval | internal objective value |
| objvalint | store 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().
returns variable of the problem with given name
| prob | problem data |
| name | name 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().
returns constraint of the problem with given name
| prob | problem data |
| name | name 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().
| void SCIPprobPrintPseudoSol | ( | SCIP_PROB * | prob, |
| SCIP_SET * | set, | ||
| SCIP_MESSAGEHDLR * | messagehdlr ) |
displays current pseudo solution
| prob | problem data |
| set | global SCIP settings |
| messagehdlr | message 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.
| void SCIPprobPrintStatistics | ( | SCIP_PROB * | prob, |
| SCIP_SET * | set, | ||
| SCIP_MESSAGEHDLR * | messagehdlr, | ||
| FILE * | file ) |
outputs problem statistics
| prob | problem data |
| set | global SCIP settings |
| messagehdlr | message handler |
| file | output file (or NULL for standard output) |
Definition at line 2686 of file prob.c.
References assert(), SCIP_Prob::maxnconss, SCIP_Prob::name, SCIP_Prob::nbinimplvars, SCIP_Prob::nbinvars, SCIP_Prob::ncontimplvars, SCIP_Prob::ncontvars, SCIP_Prob::nintimplvars, SCIP_Prob::nintvars, NULL, SCIP_Prob::nvars, SCIP_Prob::objsense, SCIP_OBJSENSE_MINIMIZE, SCIPmessageFPrintInfo(), SCIPprobGetAbsMaxObjCoef(), SCIPprobGetAbsMinObjCoef(), SCIPprobGetNImplVars(), SCIPprobGetNObjVars(), SCIP_Prob::startnconss, and SCIP_Prob::transformed.
Referenced by SCIPprintOrigProblemStatistics(), and SCIPprintTransProblemStatistics().
| SCIP_RETCODE SCIPprobCollectStatistics | ( | SCIP_PROB * | prob, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_DATATREE * | datatree ) |
collects problem statistics in a SCIP_DATATREE object
| prob | problem data |
| blkmem | block memory |
| set | global SCIP settings |
| datatree | data tree |
Definition at line 2708 of file prob.c.
References assert(), SCIP_Prob::maxnconss, SCIP_Prob::name, SCIP_Prob::nbinimplvars, SCIP_Prob::nbinvars, SCIP_Prob::ncontimplvars, SCIP_Prob::ncontvars, SCIP_Prob::nintimplvars, SCIP_Prob::nintvars, NULL, SCIP_Prob::nvars, SCIP_Prob::objsense, SCIP_CALL, SCIP_Longint, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, SCIPdatatreeInsertLong(), SCIPdatatreeInsertReal(), SCIPdatatreeInsertString(), SCIPprobGetAbsMaxObjCoef(), SCIPprobGetAbsMinObjCoef(), SCIPprobGetNObjVars(), SCIP_Prob::startnconss, and SCIP_Prob::transformed.
Referenced by SCIPcollectOrigProblemStatistics(), and SCIPcollectTransProblemStatistics().
is the problem permuted
Definition at line 2783 of file prob.c.
References assert(), NULL, SCIP_Prob::permuted, and SCIP_Bool.
Referenced by SCIPpermuteProb().
| 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().
is the problem data transformed
| prob | problem data |
Definition at line 2803 of file prob.c.
References assert(), NULL, SCIP_Bool, and SCIP_Prob::transformed.
Referenced by applyImplic(), detectImpliedBounds(), SCIPreaderWrite(), SCIPreoptInstallBounds(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgObj(), SCIPvarChgObjExact(), SCIPvarFixBinary(), SCIPvarGetImplRedcost(), and varAddImplic().
returns whether the objective value is known to be integral in every feasible solution
| prob | problem data |
Definition at line 2813 of file prob.c.
References assert(), NULL, SCIP_Prob::objisintegral, and SCIP_Bool.
Referenced by primalSetUpperbound(), primalSetUpperboundExact(), SCIPcertificatePrintDualboundExactLP(), SCIPcertificatePrintDualboundPseudo(), SCIPconflictAnalyzePseudo(), SCIPconflictstoreAddDualsolcons(), SCIPconflictstoreCleanNewIncumbent(), SCIPgetDualProof(), SCIPisObjIntegral(), and SCIPpresolve().
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
| prob | problem data |
| set | global SCIP settings |
| lp | current 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().
gets limit on objective function in external space
| prob | problem data |
| set | global SCIP settings |
Definition at line 2837 of file prob.c.
References assert(), NULL, SCIP_Prob::objlim, SCIP_Prob::objsense, SCIP_INVALID, SCIP_Real, and SCIPsetInfinity().
Referenced by primalAddOrigSol(), primalAddSol(), SCIPgetObjlimit(), SCIPprimalSetCutoffbound(), SCIPprimalUpdateObjlimit(), SCIPprimalUpdateObjoffset(), SCIPprimalUpdateObjoffsetExact(), SCIPsetObjlimit(), and SCIPsolveCIP().
| SCIP_PROBDATA * SCIPprobGetData | ( | SCIP_PROB * | prob | ) |
gets user problem data
| prob | problem |
Definition at line 2849 of file prob.c.
References assert(), NULL, and SCIP_Prob::probdata.
Referenced by SCIPgetProbData(), and SCIPreaderWrite().
| const char * SCIPprobGetName | ( | SCIP_PROB * | prob | ) |
gets problem name
| prob | problem 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().
| int SCIPprobGetNVars | ( | SCIP_PROB * | prob | ) |
gets number of problem variables
| prob | problem data |
Definition at line 2868 of file prob.c.
References assert(), NULL, and SCIP_Prob::nvars.
Referenced by certificatePrintWeakDerStart(), conflictAnalyzeLP(), conflictClearResolution(), focusnodeCleanupVars(), initConflictstore(), SCIPcertificatePrintDualboundPseudo(), SCIPpricerFarkas(), SCIPpricerRedcost(), SCIPprimalTransformSol(), SCIPreaderWrite(), SCIPreoptInstallBounds(), SCIPreoptSaveGlobalBounds(), SCIPrunBoundHeuristic(), SCIPshrinkDisjunctiveVarSet(), SCIPsolOverwriteFPSolWithExact(), SCIPtreeRestoreRelaxSol(), SCIPtreeStoreRelaxSol(), SCIPvarGetImplRedcost(), and separateAlternativeProofs().
| int SCIPprobGetNBinVars | ( | SCIP_PROB * | prob | ) |
gets number of binary problem variables
| prob | problem data |
Definition at line 2877 of file prob.c.
References assert(), SCIP_Prob::nbinvars, and NULL.
Referenced by SCIPbranchcandGetPseudoCands(), SCIPreaderWrite(), SCIPshrinkDisjunctiveVarSet(), and SCIPsolAdjustImplicitSolVals().
| int SCIPprobGetNIntVars | ( | SCIP_PROB * | prob | ) |
gets number of integer problem variables
| prob | problem data |
Definition at line 2886 of file prob.c.
References assert(), SCIP_Prob::nintvars, and NULL.
Referenced by SCIPbranchcandGetPseudoCands(), SCIPreaderWrite(), and SCIPsolAdjustImplicitSolVals().
| int SCIPprobGetNImplVars | ( | SCIP_PROB * | prob | ) |
gets number of implied integral problem variables of any type
| prob | problem data |
Definition at line 2895 of file prob.c.
References assert(), SCIP_Prob::nbinimplvars, SCIP_Prob::ncontimplvars, SCIP_Prob::nintimplvars, and NULL.
Referenced by presolve(), SCIPbranchcandGetPseudoCands(), SCIPgetNImplVars(), SCIPgetNOrigImplVars(), SCIPgetOrigVarsData(), SCIPgetVarsData(), SCIPprobAddVar(), SCIPprobDelVar(), SCIPprobPrintStatistics(), SCIPreaderWrite(), SCIPreadProb(), SCIPsolAdjustImplicitSolVals(), and SCIPtransformProb().
| int SCIPprobGetNContVars | ( | SCIP_PROB * | prob | ) |
gets number of continuous problem variables
| prob | problem data |
Definition at line 2904 of file prob.c.
References assert(), SCIP_Prob::ncontvars, and NULL.
Referenced by SCIPreaderWrite(), SCIPshrinkDisjunctiveVarSet(), and SCIPvarGetImplRedcost().
gets problem variables
| prob | problem data |
Definition at line 2913 of file prob.c.
References assert(), NULL, and SCIP_Prob::vars.
Referenced by aggrRowGetMinActivitySafely(), certificatePrintMirSplit(), certificatePrintWeakDerStart(), conflictAnalyzeResolution(), createAndAddProofcons(), focusnodeCleanupVars(), getMaxActivity(), getMinActivity(), propagateLongProof(), SCIPaggrRowGetMinActivity(), SCIPbranchcandGetPseudoCands(), SCIPcertificatePrintAggrrow(), SCIPcertificatePrintDualboundPseudo(), SCIPconflictAddConflictCon(), SCIPconflictFlushProofset(), SCIPprimalTransformSol(), SCIPreaderWrite(), SCIPreoptInstallBounds(), SCIPreoptSaveGlobalBounds(), SCIPrunBoundHeuristic(), SCIPshrinkDisjunctiveVarSet(), SCIPsolAdjustImplicitSolVals(), SCIPsolOverwriteFPSolWithExact(), SCIPtreeRestoreRelaxSol(), SCIPtreeStoreRelaxSol(), SCIPvarGetImplRedcost(), separateAlternativeProofs(), and tightenDualproof().
| int SCIPprobGetNFixedVars | ( | SCIP_PROB * | prob | ) |
gets number of fixed variables
| prob | problem data |
Definition at line 2922 of file prob.c.
References assert(), SCIP_Prob::nfixedvars, and NULL.
Referenced by SCIPreaderWrite().
gets fixed variables
| prob | problem data |
Definition at line 2931 of file prob.c.
References assert(), SCIP_Prob::fixedvars, and NULL.
Referenced by SCIPreaderWrite().
| int SCIPprobGetStartNVars | ( | SCIP_PROB * | prob | ) |
gets number of variables existing when problem solving started
| prob | problem data |
Definition at line 2940 of file prob.c.
References assert(), NULL, and SCIP_Prob::startnvars.
Referenced by SCIPreaderWrite().
| int SCIPprobGetNConss | ( | SCIP_PROB * | prob | ) |
gets number of problem constraints
| prob | problem data |
Definition at line 2949 of file prob.c.
References assert(), SCIP_Prob::nconss, and NULL.
Referenced by initConflictstore(), SCIPreaderWrite(), and SCIPreoptSaveActiveConss().
gets problem constraints
| prob | problem data |
Definition at line 2958 of file prob.c.
References assert(), SCIP_Prob::conss, and NULL.
Referenced by SCIPreaderWrite(), and SCIPreoptSaveActiveConss().
| int SCIPprobGetMaxNConss | ( | SCIP_PROB * | prob | ) |
gets maximum number of constraints existing at the same time
| prob | problem data |
Definition at line 2967 of file prob.c.
References assert(), SCIP_Prob::maxnconss, and NULL.
Referenced by SCIPreaderWrite().
| int SCIPprobGetStartNConss | ( | SCIP_PROB * | prob | ) |
gets number of constraints existing when problem solving started
| prob | problem data |
Definition at line 2976 of file prob.c.
References assert(), NULL, and SCIP_Prob::startnconss.
Referenced by SCIPreaderWrite().
| SCIP_OBJSENSE SCIPprobGetObjsense | ( | SCIP_PROB * | prob | ) |
gets the objective sense
| prob | problem data |
Definition at line 2985 of file prob.c.
References assert(), NULL, and SCIP_Prob::objsense.
Referenced by primalAddSol(), and SCIPreaderWrite().
gets the objective offset
| prob | problem data |
Definition at line 2994 of file prob.c.
References assert(), NULL, SCIP_Prob::objoffset, and SCIP_Real.
Referenced by SCIPreaderWrite(), and SCIPsolRecomputeObj().
gets the objective scalar
| prob | problem data |
Definition at line 3004 of file prob.c.
References assert(), NULL, SCIP_Prob::objscale, and SCIP_Real.
Referenced by SCIPreaderWrite().
| SCIP_RATIONAL * SCIPprobGetObjoffsetExact | ( | SCIP_PROB * | prob | ) |
gets the exact objective offset
| prob | problem data |
Definition at line 3014 of file prob.c.
References assert(), NULL, and SCIP_Prob::objoffsetexact.
Referenced by SCIPreaderWrite().
| SCIP_RATIONAL * SCIPprobGetObjscaleExact | ( | SCIP_PROB * | prob | ) |
gets the exact objective scalar
| prob | problem data |
Definition at line 3025 of file prob.c.
References assert(), NULL, and SCIP_Prob::objscaleexact.
Referenced by SCIPreaderWrite().
is constraint compression enabled for this problem?
| prob | problem data |
Definition at line 3036 of file prob.c.
References assert(), SCIP_Prob::conscompression, NULL, and SCIP_Bool.
Referenced by SCIPisConsCompressionEnabled().
| void SCIPprobEnableConsCompression | ( | SCIP_PROB * | prob | ) |
enable problem compression, i.e., constraints can reduce memory size by removing fixed variables during creation
| prob | problem data |
Definition at line 3046 of file prob.c.
References assert(), SCIP_Prob::conscompression, NULL, and TRUE.
Referenced by SCIPenableConsCompression().