Detailed Description
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.
Function Documentation
◆ SCIPconflictstoreCreate()
SCIP_RETCODE SCIPconflictstoreCreate | ( | SCIP_CONFLICTSTORE ** | conflictstore, |
SCIP_SET * | set | ||
) |
creates separation storage
creates conflict store
- Parameters
-
conflictstore pointer to store conflict store set global SCIP settings
Definition at line 736 of file conflictstore.c.
References BMSallocMemory, EVENTHDLR_DESC, EVENTHDLR_NAME, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPeventhdlrCreate(), SCIPsetFindEventhdlr(), and SCIPsetIncludeEventhdlr().
Referenced by copyProb(), and SCIPcreateProb().
◆ SCIPconflictstoreFree()
SCIP_RETCODE SCIPconflictstoreFree | ( | SCIP_CONFLICTSTORE ** | conflictstore, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_REOPT * | reopt | ||
) |
frees separation storage
frees conflict store
- Parameters
-
conflictstore pointer to store conflict store blkmem block memory set global SCIP settings stat dynamic SCIP statistics reopt reoptimization data
Definition at line 786 of file conflictstore.c.
References BMSfreeBlockMemoryArrayNull, BMSfreeMemoryNull, CONFLICTSTORE_DUALRAYSIZE, CONFLICTSTORE_DUALSOLSIZE, NULL, SCIP_CALL, SCIP_OKAY, and SCIPconflictstoreClear().
Referenced by SCIPfreeProb().
◆ SCIPconflictstoreClear()
SCIP_RETCODE SCIPconflictstoreClear | ( | SCIP_CONFLICTSTORE * | conflictstore, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_REOPT * | reopt | ||
) |
clears conflict store
- Parameters
-
conflictstore conflict store blkmem block memory set global SCIP settings stat dynamic SCIP statistics reopt reoptimization data
Definition at line 816 of file conflictstore.c.
References SCIP_ConflictStore::conflicts, delPosConflict(), delPosDualray(), delPosDualsol(), SCIP_ConflictStore::dualrayconfs, SCIP_ConflictStore::dualsolconfs, FALSE, 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().
◆ SCIPconflictstoreClean()
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
- Parameters
-
conflictstore conflict store blkmem block memory set global SCIP settings stat dynamic SCIP statistics transprob transformed problem reopt reoptimization data
Definition at line 879 of file conflictstore.c.
References cleanDeletedAndCheckedConflicts(), cleanDeletedAndCheckedDualrayCons(), cleanDeletedAndCheckedDualsolCons(), delPosDualray(), delPosDualsol(), SCIP_ConflictStore::drayrelaxonly, SCIP_ConflictStore::dsolrelaxonly, FALSE, SCIP_ConflictStore::nconflicts, SCIP_ConflictStore::ndualrayconfs, SCIP_ConflictStore::ndualsolconfs, NULL, SCIP_CALL, SCIP_OKAY, SCIPisInRestart(), SCIPsetDebugMsg, TRUE, and SCIP_ConflictStore::updateside.
Referenced by freeSolve().
◆ SCIPconflictstoreAddDualraycons()
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
- Note
- this methods captures the constraint
- Parameters
-
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 952 of file conflictstore.c.
References BMSallocBlockMemoryArray, cleanDeletedAndCheckedDualrayCons(), CONFLICTSTORE_DUALRAYSIZE, delPosDualray(), SCIP_ConflictStore::drayrelaxonly, SCIP_ConflictStore::dualrayconfs, SCIP_ConflictStore::ndualrayconfs, SCIP_ConflictStore::nnzdualrays, NULL, 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().
◆ SCIPconflictstoreAddDualsolcons()
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
- Note
- this methods captures the constraint
- Parameters
-
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 1039 of file conflictstore.c.
References BMSallocBlockMemoryArray, cleanDeletedAndCheckedDualsolCons(), CONFLICTSTORE_DUALSOLSIZE, delPosDualsol(), SCIP_ConflictStore::dsolrelaxonly, SCIP_ConflictStore::dualprimalbnds, SCIP_ConflictStore::dualsolconfs, SCIP_ConflictStore::ndualsolconfs, SCIP_ConflictStore::nnzdualsols, NULL, SCIP_ConflictStore::scalefactors, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_LOCKTYPE_CONFLICT, SCIP_OKAY, SCIPconsAddLocks(), SCIPconsCapture(), SCIPconsDelete(), SCIPconsGetAge(), SCIPconsGetNVars(), SCIPconsIsLocal(), SCIPconsMarkConflict(), SCIPgetCutoffbound(), SCIPsetIsGE(), SCIPsetSumepsilon(), SCIPsortPtrRealRealBoolBool(), TRUE, and SCIP_ConflictStore::updateside.
Referenced by createAndAddProofcons().
◆ SCIPconflictstoreAddConflict()
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
- Note
- this method captures the constraint
- Parameters
-
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 1135 of file conflictstore.c.
References 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_CALL, SCIP_CONFTYPE_BNDEXCEEDING, SCIP_LOCKTYPE_CONFLICT, SCIP_Longint, SCIP_OKAY, SCIP_STAGE_PROBLEM, SCIPconsAddLocks(), SCIPconsCapture(), SCIPconsGetName(), SCIPconsIsOriginal(), SCIPconsMarkConflict(), SCIPnodeGetNumber(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsInfinity(), and SCIPtreeGetFocusNode().
Referenced by SCIPaddConflict(), SCIPconflictstoreTransform(), and SCIPcopyConss().
◆ SCIPconflictstoreCleanNewIncumbent()
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
- Parameters
-
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 1230 of file conflictstore.c.
References SCIP_ConflictStore::conflicts, SCIP_ConflictStore::confprimalbnds, delPosConflict(), delPosDualsol(), SCIP_ConflictStore::dualprimalbnds, SCIP_ConflictStore::dualsolconfs, 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(), SCIPsetDebugMsg, SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetSumepsilon(), TRUE, and SCIP_ConflictStore::updateside.
Referenced by SCIPclearConflictStore().
◆ SCIPconflictstoreGetMaxPoolSize()
int SCIPconflictstoreGetMaxPoolSize | ( | SCIP_CONFLICTSTORE * | conflictstore | ) |
returns the maximal size of the conflict pool
- Parameters
-
conflictstore conflict store
Definition at line 1399 of file conflictstore.c.
References SCIP_ConflictStore::maxstoresize, NULL, and SCIP_ConflictStore::storesize.
Referenced by SCIPprintConflictStatistics().
◆ SCIPconflictstoreGetInitPoolSize()
int SCIPconflictstoreGetInitPoolSize | ( | SCIP_CONFLICTSTORE * | conflictstore | ) |
returns the initial size of the conflict pool
- Parameters
-
conflictstore conflict store
Definition at line 1409 of file conflictstore.c.
References SCIP_ConflictStore::initstoresize, and NULL.
Referenced by SCIPprintConflictStatistics().
◆ SCIPconflictstoreGetNConflictsInStore()
int SCIPconflictstoreGetNConflictsInStore | ( | SCIP_CONFLICTSTORE * | conflictstore | ) |
returns the number of stored conflicts on the conflict pool
- Note
- the number of active conflicts can be less
- Parameters
-
conflictstore conflict store
Definition at line 1422 of file conflictstore.c.
References SCIP_ConflictStore::nconflicts, and NULL.
Referenced by SCIPcopyConflicts().
◆ SCIPconflictstoreGetConflicts()
SCIP_RETCODE SCIPconflictstoreGetConflicts | ( | SCIP_CONFLICTSTORE * | conflictstore, |
SCIP_CONS ** | conflicts, | ||
int | conflictsize, | ||
int * | nconflicts | ||
) |
returns all active conflicts stored in the conflict store
- Parameters
-
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 1432 of file conflictstore.c.
References SCIP_ConflictStore::conflicts, SCIP_ConflictStore::nconflicts, NULL, SCIP_OKAY, SCIPconsIsActive(), and SCIPconsIsDeleted().
Referenced by SCIPcopyConflicts().
◆ SCIPconflictstoreTransform()
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
- Parameters
-
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 1476 of file conflictstore.c.
References FALSE, 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().
◆ SCIPconflictstoreGetAvgNnzDualInfProofs()
SCIP_Real SCIPconflictstoreGetAvgNnzDualInfProofs | ( | SCIP_CONFLICTSTORE * | conflictstore | ) |
returns the average number of non-zeros over all stored dual ray constraints
- Parameters
-
conflictstore conflict store
Definition at line 1527 of file conflictstore.c.
References SCIP_ConflictStore::ndualrayconfs, SCIP_ConflictStore::nnzdualrays, NULL, and SCIP_Real.
Referenced by createAndAddProofcons().
◆ SCIPconflictstoreGetNDualInfProofs()
int SCIPconflictstoreGetNDualInfProofs | ( | SCIP_CONFLICTSTORE * | conflictstore | ) |
return the number of stored dualray constraints
returns the number of all stored dual ray constraints
- Parameters
-
conflictstore conflict store
Definition at line 1540 of file conflictstore.c.
References SCIP_ConflictStore::ndualrayconfs, and NULL.
Referenced by createAndAddProofcons().
◆ SCIPconflictstoreGetAvgNnzDualBndProofs()
SCIP_Real SCIPconflictstoreGetAvgNnzDualBndProofs | ( | SCIP_CONFLICTSTORE * | conflictstore | ) |
returns the average number of non-zeros over all stored boundexceeding proofs
- Parameters
-
conflictstore conflict store
Definition at line 1550 of file conflictstore.c.
References SCIP_ConflictStore::ndualsolconfs, SCIP_ConflictStore::nnzdualsols, NULL, and SCIP_Real.
Referenced by createAndAddProofcons().
◆ SCIPconflictstoreGetNDualBndProofs()
int SCIPconflictstoreGetNDualBndProofs | ( | SCIP_CONFLICTSTORE * | conflictstore | ) |
returns the number of all stored boundexceeding proofs
- Parameters
-
conflictstore conflict store
Definition at line 1564 of file conflictstore.c.
References SCIP_ConflictStore::ndualsolconfs, and NULL.
Referenced by createAndAddProofcons().