Scippy

SCIP

Solving Constraint Integer Programs

conflictstore.h File Reference

Detailed Description

internal methods for storing conflicts

Author
Jakob Witzig

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.

Functions

SCIP_RETCODE SCIPconflictstoreCreate (SCIP_CONFLICTSTORE **conflictstore, SCIP_SET *set)
 
SCIP_RETCODE SCIPconflictstoreFree (SCIP_CONFLICTSTORE **conflictstore, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_REOPT *reopt)
 
SCIP_RETCODE SCIPconflictstoreClean (SCIP_CONFLICTSTORE *conflictstore, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_REOPT *reopt)
 
SCIP_RETCODE SCIPconflictstoreAddDualraycons (SCIP_CONFLICTSTORE *conflictstore, SCIP_CONS *dualraycons, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_REOPT *reopt)
 
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)
 
SCIP_RETCODE SCIPconflictstoreCleanNewIncumbent (SCIP_CONFLICTSTORE *conflictstore, SCIP_SET *set, SCIP_STAT *stat, BMS_BLKMEM *blkmem, SCIP_PROB *transprob, SCIP_REOPT *reopt, SCIP_Real cutoffbound)
 
int SCIPconflictstoreGetMaxPoolSize (SCIP_CONFLICTSTORE *conflictstore)
 
int SCIPconflictstoreGetInitPoolSize (SCIP_CONFLICTSTORE *conflictstore)
 
int SCIPconflictstoreGetNConflictsInStore (SCIP_CONFLICTSTORE *conflictstore)
 
SCIP_RETCODE SCIPconflictstoreGetConflicts (SCIP_CONFLICTSTORE *conflictstore, SCIP_CONS **conflicts, int conflictsize, int *nconflicts)
 
SCIP_RETCODE SCIPconflictstoreTransform (SCIP_CONFLICTSTORE *conflictstore, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_TREE *tree, SCIP_PROB *transprob, SCIP_REOPT *reopt)
 
SCIP_Real SCIPconflictstoreGetAvgNnzDualray (SCIP_CONFLICTSTORE *conflictstore)
 
int SCIPconflictstoreGetNDualrays (SCIP_CONFLICTSTORE *conflictstore)
 

Function Documentation

◆ SCIPconflictstoreCreate()

SCIP_RETCODE SCIPconflictstoreCreate ( SCIP_CONFLICTSTORE **  conflictstore,
SCIP_SET set 
)

creates separation storage

creates conflict store

Parameters
conflictstorepointer to store conflict store
setglobal SCIP settings

Definition at line 574 of file conflictstore.c.

References BMSallocMemory, EVENTHDLR_DESC, EVENTHDLR_NAME, NULL, SCIP_ALLOC, SCIP_CALL, 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
conflictstorepointer to store conflict store
blkmemblock memory
setglobal SCIP settings
statdynamic SCIP statistics
reoptreoptimization data

Definition at line 615 of file conflictstore.c.

References BMSfreeBlockMemoryArrayNull, BMSfreeMemoryNull, CONFLICTSTORE_DUALSIZE, NULL, SCIP_CALL, SCIP_OKAY, and SCIPconflictstoreClean().

Referenced by SCIPfreeProb().

◆ SCIPconflictstoreClean()

SCIP_RETCODE SCIPconflictstoreClean ( SCIP_CONFLICTSTORE conflictstore,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_REOPT reopt 
)

cleans conflict store

Parameters
conflictstoreconflict store
blkmemblock memory
setglobal SCIP settings
statdynamic SCIP statistics
reoptreoptimization data

Definition at line 639 of file conflictstore.c.

References SCIP_ConflictStore::conflicts, delPosConflict(), delPosDualray(), SCIP_ConflictStore::dualrayconfs, FALSE, SCIP_ConflictStore::nconflicts, SCIP_ConflictStore::ndualrayconfs, SCIP_ConflictStore::norigconfs, NULL, SCIP_ConflictStore::origconfs, SCIP_CALL, SCIP_OKAY, SCIPconsRelease(), and SCIPsetDebugMsg.

Referenced by freeReoptSolve(), freeSolve(), freeTransform(), and SCIPconflictstoreFree().

◆ SCIPconflictstoreAddDualraycons()

SCIP_RETCODE SCIPconflictstoreAddDualraycons ( SCIP_CONFLICTSTORE conflictstore,
SCIP_CONS dualraycons,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_REOPT reopt 
)

adds a constraint to the pool of dual rays

Note
this methods captures the constraint
Parameters
conflictstoreconflict store
dualrayconsconstraint based on a dual ray
blkmemblock memory
setglobal SCIP settings
statdynamic SCIP statistics
transprobtransformed problem
reoptreoptimization data

Definition at line 692 of file conflictstore.c.

References BMSallocBlockMemoryArray, CONFLICTSTORE_DUALSIZE, delPosDualray(), SCIP_ConflictStore::dualrayconfs, SCIP_ConflictStore::ndualrayconfs, SCIP_ConflictStore::nnzdualrays, NULL, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsCapture(), SCIPconsGetAge(), SCIPconsGetNVars(), SCIPconsIsDeleted(), SCIPconsMarkConflict(), SCIPsetIsGE(), SCIPsortPtr(), and TRUE.

Referenced by createAndAddDualray().

◆ 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
conflictstoreconflict store
blkmemblock memory
setglobal SCIP settings
statdynamic SCIP statistics
treebranch and bound tree (or NULL for an original constraint)
transprobtransformed problem (or NULL for an original constraint)
reoptreoptimization data
consconstraint representing the conflict
conftypetype of the conflict
cutoffinvolvedis a cutoff bound involved in this conflict
primalboundprimal bound the conflict depend on (or -SCIPinfinity)

Definition at line 773 of file conflictstore.c.

References SCIP_ConflictStore::conflicts, SCIP_ConflictStore::conflictsize, conflictstoreAddOrigConflict(), conflictstoreCleanUpStorage(), conflictstoreEnsureMem(), initConflictstore(), SCIP_ConflictStore::initstoresize, SCIP_ConflictStore::lastnodenum, SCIP_ConflictStore::maxstoresize, SCIP_ConflictStore::ncbconflicts, SCIP_ConflictStore::nconflicts, SCIP_ConflictStore::nconflictsfound, NULL, SCIP_ConflictStore::primalbounds, REALABS, SCIP_CALL, SCIP_CONFTYPE_BNDEXCEEDING, SCIP_Longint, SCIP_OKAY, SCIP_STAGE_PROBLEM, 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
conflictstoreconflict store
setglobal SCIP settings
statdynamic SCIP statistics
blkmemblock memory
transprobtransformed problem
reoptreoptimization data
cutoffboundcurrent cutoff bound

Definition at line 865 of file conflictstore.c.

References SCIP_ConflictStore::conflicts, delPosConflict(), SCIP_ConflictStore::ncbconflicts, SCIP_ConflictStore::nconflicts, NULL, SCIP_ConflictStore::primalbounds, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPsetDebugMsg, SCIPsetIsGT(), SCIPsetIsPositive(), and TRUE.

Referenced by SCIPclearConflictStore().

◆ SCIPconflictstoreGetMaxPoolSize()

int SCIPconflictstoreGetMaxPoolSize ( SCIP_CONFLICTSTORE conflictstore)

returns the maximal size of the conflict pool

Parameters
conflictstoreconflict store

Definition at line 934 of file conflictstore.c.

References SCIP_ConflictStore::maxstoresize, MIN, NULL, and SCIP_ConflictStore::storesize.

Referenced by printConflictStatistics().

◆ SCIPconflictstoreGetInitPoolSize()

int SCIPconflictstoreGetInitPoolSize ( SCIP_CONFLICTSTORE conflictstore)

returns the initial size of the conflict pool

Parameters
conflictstoreconflict store

Definition at line 944 of file conflictstore.c.

References SCIP_ConflictStore::initstoresize, and NULL.

Referenced by printConflictStatistics().

◆ 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
conflictstoreconflict store

Definition at line 957 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
conflictstoreconflict store
conflictsarray to store conflicts
conflictsizesize of the conflict array
nconflictspointer to store the number of conflicts

Definition at line 967 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
conflictstoreconflict store
blkmemblock memory
setglobal SCIP settings
statdynamic SCIP statistics
treebranch and bound tree
transprobtransformed problem
reoptreoptimization data

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

◆ SCIPconflictstoreGetAvgNnzDualray()

SCIP_Real SCIPconflictstoreGetAvgNnzDualray ( SCIP_CONFLICTSTORE conflictstore)

returns the average number of non-zeros over all stored dual ray constraints

Parameters
conflictstoreconflict store

Definition at line 1062 of file conflictstore.c.

References SCIP_ConflictStore::ndualrayconfs, SCIP_ConflictStore::nnzdualrays, NULL, and SCIP_Real.

Referenced by createAndAddDualray().

◆ SCIPconflictstoreGetNDualrays()

int SCIPconflictstoreGetNDualrays ( SCIP_CONFLICTSTORE conflictstore)

return the number of stored dualray constraints

returns the number of all stored dual ray constraints

Parameters
conflictstoreconflict store

Definition at line 1075 of file conflictstore.c.

References SCIP_ConflictStore::ndualrayconfs, and NULL.

Referenced by createAndAddDualray().