internal methods for storing conflicts
Definition in file conflictstore.h.
#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/type_conflictstore.h"
#include "scip/type_retcode.h"
#include "scip/type_cons.h"
#include "scip/type_event.h"
#include "scip/type_conflict.h"
#include "scip/type_prob.h"
#include "scip/type_reopt.h"
#include "scip/type_set.h"
#include "scip/type_stat.h"
#include "scip/type_tree.h"
Go to the source code of this file.
SCIP_RETCODE SCIPconflictstoreCreate | ( | SCIP_CONFLICTSTORE ** | conflictstore, |
SCIP_SET * | set ) |
creates separation storage
creates conflict store
conflictstore | pointer to store conflict store |
set | global SCIP settings |
Definition at line 745 of file conflictstore.c.
References assert(), BMSallocMemory, EVENTHDLR_DESC, EVENTHDLR_NAME, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPeventhdlrCreate(), SCIPsetFindEventhdlr(), and SCIPsetIncludeEventhdlr().
Referenced by copyProb(), and SCIPcreateProb().
SCIP_RETCODE SCIPconflictstoreFree | ( | SCIP_CONFLICTSTORE ** | conflictstore, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_REOPT * | reopt ) |
frees separation storage
frees conflict store
conflictstore | pointer to store conflict store |
blkmem | block memory |
set | global SCIP settings |
stat | dynamic SCIP statistics |
reopt | reoptimization data |
Definition at line 795 of file conflictstore.c.
References assert(), BMSfreeBlockMemoryArrayNull, BMSfreeMemoryNull, CONFLICTSTORE_DUALRAYSIZE, CONFLICTSTORE_DUALSOLSIZE, NULL, SCIP_CALL, SCIP_OKAY, and SCIPconflictstoreClear().
Referenced by SCIPfreeProb().
SCIP_RETCODE SCIPconflictstoreClear | ( | SCIP_CONFLICTSTORE * | conflictstore, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_REOPT * | reopt ) |
clears conflict store
conflictstore | conflict store |
blkmem | block memory |
set | global SCIP settings |
stat | dynamic SCIP statistics |
reopt | reoptimization data |
Definition at line 825 of file conflictstore.c.
References assert(), SCIP_ConflictStore::conflicts, delPosConflict(), delPosDualray(), delPosDualsol(), SCIP_ConflictStore::dualrayconfs, SCIP_ConflictStore::dualsolconfs, FALSE, i, SCIP_ConflictStore::nconflicts, SCIP_ConflictStore::ndualrayconfs, SCIP_ConflictStore::ndualsolconfs, SCIP_ConflictStore::norigconfs, NULL, SCIP_ConflictStore::origconfs, SCIP_CALL, SCIP_OKAY, SCIPconsRelease(), and SCIPsetDebugMsg.
Referenced by freeReoptSolve(), freeTransform(), and SCIPconflictstoreFree().
SCIP_RETCODE SCIPconflictstoreClean | ( | SCIP_CONFLICTSTORE * | conflictstore, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_REOPT * | reopt ) |
cleans up conflict store
conflictstore | conflict store |
blkmem | block memory |
set | global SCIP settings |
stat | dynamic SCIP statistics |
transprob | transformed problem |
reopt | reoptimization data |
Definition at line 888 of file conflictstore.c.
References assert(), cleanDeletedAndCheckedConflicts(), cleanDeletedAndCheckedDualrayCons(), cleanDeletedAndCheckedDualsolCons(), delPosDualray(), delPosDualsol(), SCIP_ConflictStore::drayrelaxonly, SCIP_ConflictStore::dsolrelaxonly, FALSE, i, SCIP_ConflictStore::nconflicts, SCIP_ConflictStore::ndualrayconfs, SCIP_ConflictStore::ndualsolconfs, NULL, SCIP_CALL, SCIP_OKAY, SCIPisInRestart(), SCIPsetDebugMsg, TRUE, and SCIP_ConflictStore::updateside.
Referenced by freeSolve().
SCIP_RETCODE SCIPconflictstoreAddDualraycons | ( | SCIP_CONFLICTSTORE * | conflictstore, |
SCIP_CONS * | dualproof, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_REOPT * | reopt, | ||
SCIP_Bool | hasrelaxvar ) |
adds a constraint to the pool of proof constraints based on dual rays
conflictstore | conflict store |
dualproof | constraint based on a dual ray |
blkmem | block memory |
set | global SCIP settings |
stat | dynamic SCIP statistics |
transprob | transformed problem |
reopt | reoptimization data |
hasrelaxvar | does the dual proof contain at least one variable that exists in the current relaxation only? |
Definition at line 961 of file conflictstore.c.
References assert(), BMSallocBlockMemoryArray, cleanDeletedAndCheckedDualrayCons(), CONFLICTSTORE_DUALRAYSIZE, delPosDualray(), SCIP_ConflictStore::drayrelaxonly, SCIP_ConflictStore::dualrayconfs, SCIP_ConflictStore::ndualrayconfs, SCIP_ConflictStore::nnzdualrays, NULL, nvars, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_LOCKTYPE_CONFLICT, SCIP_OKAY, SCIPconsAddLocks(), SCIPconsCapture(), SCIPconsDelete(), SCIPconsGetAge(), SCIPconsGetNVars(), SCIPconsIsLocal(), SCIPconsMarkConflict(), SCIPsetIsGE(), SCIPsortPtrBool(), and TRUE.
Referenced by createAndAddProofcons().
SCIP_RETCODE SCIPconflictstoreAddDualsolcons | ( | SCIP_CONFLICTSTORE * | conflictstore, |
SCIP_CONS * | dualproof, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_REOPT * | reopt, | ||
SCIP_Real | scale, | ||
SCIP_Bool | updateside, | ||
SCIP_Bool | hasrelaxvar ) |
adds a constraint to the pool of proof constraints based on dual solutions
conflictstore | conflict store |
dualproof | constraint based on a dual solution |
blkmem | block memory |
set | global SCIP settings |
stat | dynamic SCIP statistics |
transprob | transformed problem |
reopt | reoptimization data |
scale | scaling factor that needs to be considered when updating the side |
updateside | should the side be updated if a new incumbent is found |
hasrelaxvar | does the dual proof contain at least one variable that exists in the current relaxation only? |
Definition at line 1048 of file conflictstore.c.
References assert(), BMSallocBlockMemoryArray, cleanDeletedAndCheckedDualsolCons(), CONFLICTSTORE_DUALSOLSIZE, delPosDualsol(), SCIP_ConflictStore::dsolrelaxonly, SCIP_ConflictStore::dualprimalbnds, SCIP_ConflictStore::dualsolconfs, SCIP_ConflictStore::ndualsolconfs, SCIP_ConflictStore::nnzdualsols, NULL, nvars, SCIP_ConflictStore::scalefactors, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_LOCKTYPE_CONFLICT, SCIP_OKAY, SCIP_Real, SCIPconsAddLocks(), SCIPconsCapture(), SCIPconsDelete(), SCIPconsGetAge(), SCIPconsGetNVars(), SCIPconsIsLocal(), SCIPconsMarkConflict(), SCIPgetCutoffbound(), SCIPprobIsObjIntegral(), SCIPsetCutoffbounddelta(), SCIPsetIsGE(), SCIPsortPtrRealRealBoolBool(), TRUE, and SCIP_ConflictStore::updateside.
Referenced by createAndAddProofcons().
SCIP_RETCODE SCIPconflictstoreAddConflict | ( | SCIP_CONFLICTSTORE * | conflictstore, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_TREE * | tree, | ||
SCIP_PROB * | transprob, | ||
SCIP_REOPT * | reopt, | ||
SCIP_CONS * | cons, | ||
SCIP_CONFTYPE | conftype, | ||
SCIP_Bool | cutoffinvolved, | ||
SCIP_Real | primalbound ) |
adds a conflict to the conflict store
conflictstore | conflict store |
blkmem | block memory |
set | global SCIP settings |
stat | dynamic SCIP statistics |
tree | branch and bound tree (or NULL for an original constraint) |
transprob | transformed problem (or NULL for an original constraint) |
reopt | reoptimization data |
cons | constraint representing the conflict |
conftype | type of the conflict |
cutoffinvolved | is a cutoff bound involved in this conflict |
primalbound | primal bound the conflict depend on (or -SCIPinfinity) |
Definition at line 1144 of file conflictstore.c.
References assert(), SCIP_ConflictStore::conflicts, SCIP_ConflictStore::conflictsize, conflictstoreAddOrigConflict(), conflictstoreCleanUpStorage(), conflictstoreEnsureMem(), SCIP_ConflictStore::confprimalbnds, initConflictstore(), SCIP_ConflictStore::initstoresize, SCIP_ConflictStore::lastnodenum, SCIP_ConflictStore::maxstoresize, SCIP_ConflictStore::ncbconflicts, SCIP_ConflictStore::nconflicts, SCIP_ConflictStore::nconflictsfound, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_CONFTYPE_BNDEXCEEDING, SCIP_LOCKTYPE_CONFLICT, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIPconsAddLocks(), SCIPconsCapture(), SCIPconsGetName(), SCIPconsIsOriginal(), SCIPconsMarkConflict(), SCIPnodeGetNumber(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsInfinity(), and SCIPtreeGetFocusNode().
Referenced by SCIPaddConflict(), SCIPconflictstoreTransform(), and SCIPcopyConss().
SCIP_RETCODE SCIPconflictstoreCleanNewIncumbent | ( | SCIP_CONFLICTSTORE * | conflictstore, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_PROB * | transprob, | ||
SCIP_REOPT * | reopt, | ||
SCIP_Real | cutoffbound ) |
deletes all conflicts depending on a cutoff bound larger than the given bound
conflictstore | conflict store |
set | global SCIP settings |
stat | dynamic SCIP statistics |
blkmem | block memory |
transprob | transformed problem |
reopt | reoptimization data |
cutoffbound | current cutoff bound |
Definition at line 1239 of file conflictstore.c.
References assert(), SCIP_ConflictStore::conflicts, SCIP_ConflictStore::confprimalbnds, delPosConflict(), delPosDualsol(), SCIP_ConflictStore::dualprimalbnds, SCIP_ConflictStore::dualsolconfs, i, SCIP_ConflictStore::lastcutoffbound, SCIP_ConflictStore::ncbconflicts, SCIP_ConflictStore::nconflicts, SCIP_ConflictStore::ndualsolconfs, NULL, SCIP_ConflictStore::scalefactors, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPchgLhsLinear(), SCIPchgRhsLinear(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPconsIsDeleted(), SCIPgetLhsLinear(), SCIPgetRhsLinear(), SCIPprobIsObjIntegral(), SCIPsetCutoffbounddelta(), SCIPsetDebugMsg, SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPsetIsNegative(), SCIPsetIsPositive(), TRUE, and SCIP_ConflictStore::updateside.
Referenced by SCIPclearConflictStore().
int SCIPconflictstoreGetMaxPoolSize | ( | SCIP_CONFLICTSTORE * | conflictstore | ) |
returns the maximal size of the conflict pool
conflictstore | conflict store |
Definition at line 1408 of file conflictstore.c.
References assert(), SCIP_ConflictStore::maxstoresize, MIN, NULL, and SCIP_ConflictStore::storesize.
Referenced by SCIPprintConflictStatistics().
int SCIPconflictstoreGetInitPoolSize | ( | SCIP_CONFLICTSTORE * | conflictstore | ) |
returns the initial size of the conflict pool
conflictstore | conflict store |
Definition at line 1418 of file conflictstore.c.
References assert(), SCIP_ConflictStore::initstoresize, and NULL.
Referenced by SCIPprintConflictStatistics().
int SCIPconflictstoreGetNConflictsInStore | ( | SCIP_CONFLICTSTORE * | conflictstore | ) |
returns the number of stored conflicts on the conflict pool
conflictstore | conflict store |
Definition at line 1431 of file conflictstore.c.
References assert(), SCIP_ConflictStore::nconflicts, and NULL.
Referenced by SCIPcopyConflicts().
SCIP_RETCODE SCIPconflictstoreGetConflicts | ( | SCIP_CONFLICTSTORE * | conflictstore, |
SCIP_CONS ** | conflicts, | ||
int | conflictsize, | ||
int * | nconflicts ) |
returns all active conflicts stored in the conflict store
conflictstore | conflict store |
conflicts | array to store conflicts |
conflictsize | size of the conflict array |
nconflicts | pointer to store the number of conflicts |
Definition at line 1441 of file conflictstore.c.
References assert(), SCIP_ConflictStore::conflicts, i, SCIP_ConflictStore::nconflicts, NULL, SCIP_OKAY, SCIPconsIsActive(), and SCIPconsIsDeleted().
Referenced by SCIPcopyConflicts().
SCIP_RETCODE SCIPconflictstoreTransform | ( | SCIP_CONFLICTSTORE * | conflictstore, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_TREE * | tree, | ||
SCIP_PROB * | transprob, | ||
SCIP_REOPT * | reopt ) |
transforms all original conflicts into transformed conflicts
transformes all original conflicts into transformed conflicts
conflictstore | conflict store |
blkmem | block memory |
set | global SCIP settings |
stat | dynamic SCIP statistics |
tree | branch and bound tree |
transprob | transformed problem |
reopt | reoptimization data |
Definition at line 1485 of file conflictstore.c.
References assert(), FALSE, i, SCIP_ConflictStore::norigconfs, NULL, SCIP_ConflictStore::origconfs, SCIP_CALL, SCIP_CONFTYPE_UNKNOWN, SCIP_OKAY, SCIP_STAGE_TRANSFORMING, SCIPconflictstoreAddConflict(), SCIPconsGetTransformed(), SCIPconsIsOriginal(), SCIPconsRelease(), SCIPsetDebugMsg, SCIPsetGetStage(), and SCIPsetInfinity().
Referenced by SCIPprobTransform().
SCIP_Real SCIPconflictstoreGetAvgNnzDualInfProofs | ( | SCIP_CONFLICTSTORE * | conflictstore | ) |
returns the average number of non-zeros over all stored dual ray constraints
conflictstore | conflict store |
Definition at line 1536 of file conflictstore.c.
References assert(), SCIP_ConflictStore::ndualrayconfs, SCIP_ConflictStore::nnzdualrays, NULL, and SCIP_Real.
Referenced by createAndAddProofcons().
int SCIPconflictstoreGetNDualInfProofs | ( | SCIP_CONFLICTSTORE * | conflictstore | ) |
return the number of stored dualray constraints
returns the number of all stored dual ray constraints
conflictstore | conflict store |
Definition at line 1549 of file conflictstore.c.
References assert(), SCIP_ConflictStore::ndualrayconfs, and NULL.
Referenced by createAndAddProofcons().
SCIP_Real SCIPconflictstoreGetAvgNnzDualBndProofs | ( | SCIP_CONFLICTSTORE * | conflictstore | ) |
returns the average number of non-zeros over all stored boundexceeding proofs
conflictstore | conflict store |
Definition at line 1559 of file conflictstore.c.
References assert(), SCIP_ConflictStore::ndualsolconfs, SCIP_ConflictStore::nnzdualsols, NULL, and SCIP_Real.
Referenced by createAndAddProofcons().
int SCIPconflictstoreGetNDualBndProofs | ( | SCIP_CONFLICTSTORE * | conflictstore | ) |
returns the number of all stored boundexceeding proofs
conflictstore | conflict store |
Definition at line 1573 of file conflictstore.c.
References assert(), SCIP_ConflictStore::ndualsolconfs, and NULL.
Referenced by createAndAddProofcons().