|
internal methods for storing cuts in a cut pool
- Author
- Tobias Achterberg
Definition in file cutpool.h.
Go to the source code of this file.
|
SCIP_RETCODE | SCIPcutpoolCreate (SCIP_CUTPOOL **cutpool, BMS_BLKMEM *blkmem, SCIP_SET *set, int agelimit, SCIP_Bool globalcutpool) |
|
SCIP_RETCODE | SCIPcutpoolFree (SCIP_CUTPOOL **cutpool, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_LP *lp) |
|
SCIP_RETCODE | SCIPcutpoolClear (SCIP_CUTPOOL *cutpool, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_LP *lp) |
|
SCIP_RETCODE | SCIPcutpoolAddRow (SCIP_CUTPOOL *cutpool, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_ROW *row) |
|
SCIP_RETCODE | SCIPcutpoolAddNewRow (SCIP_CUTPOOL *cutpool, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_ROW *row) |
|
SCIP_RETCODE | SCIPcutpoolDelRow (SCIP_CUTPOOL *cutpool, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_ROW *row) |
|
SCIP_RETCODE | SCIPcutpoolSeparate (SCIP_CUTPOOL *cutpool, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_LP *lp, SCIP_SEPASTORE *sepastore, SCIP_SOL *sol, SCIP_Bool cutpoolisdelayed, SCIP_Bool root, SCIP_RESULT *result) |
|
creates cut pool
- Parameters
-
cutpool | pointer to store cut pool |
blkmem | block memory |
set | global SCIP settings |
agelimit | maximum age a cut can reach before it is deleted from the pool |
globalcutpool | is this the global cut pool of SCIP? |
Definition at line 404 of file cutpool.c.
References BMSallocMemory, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_HASHSIZE_CUTPOOLS, SCIP_HASHSIZE_CUTPOOLS_SMALL, SCIP_OKAY, SCIPclockCreate(), and SCIPhashtableCreate().
Referenced by initSolve(), and SCIPcreateCutpool().
removes all rows from the cut pool
- Parameters
-
cutpool | cut pool |
blkmem | block memory |
set | global SCIP settings |
lp | current LP data |
Definition at line 467 of file cutpool.c.
References cutFree(), SCIP_Cutpool::cuts, FALSE, SCIP_Cutpool::globalcutpool, SCIP_Row::inglobalcutpool, SCIP_Cutpool::ncuts, SCIP_Cutpool::nremovablecuts, NULL, SCIP_Cut::row, SCIP_CALL, SCIP_OKAY, and SCIProwUnlock().
Referenced by freeSolve(), and SCIPcutpoolFree().
if not already existing, adds row to cut pool and captures it
- Parameters
-
cutpool | cut pool |
blkmem | block memory |
set | global SCIP settings |
row | cutting plane to add |
Definition at line 493 of file cutpool.c.
References SCIP_Cutpool::hashtable, NULL, SCIP_CALL, SCIP_OKAY, SCIPcutpoolAddNewRow(), SCIPhashtableRetrieve(), SCIProwGetMaxidx(), and SCIP_Row::validminmaxidx.
Referenced by SCIPaddDelayedPoolCut(), SCIPaddPoolCut(), and SCIPaddRowCutpool().
adds row to cut pool and captures it; doesn't check for multiple cuts
- Parameters
-
cutpool | cut pool |
blkmem | block memory |
set | global SCIP settings |
row | cutting plane to add |
Definition at line 517 of file cutpool.c.
References cutCreate(), cutpoolEnsureCutsMem(), SCIP_Cutpool::cuts, SCIP_Cutpool::globalcutpool, SCIP_Cutpool::hashtable, SCIP_Row::inglobalcutpool, MAX, SCIP_Cutpool::maxncuts, SCIP_Cutpool::ncuts, SCIP_Cutpool::nremovablecuts, NULL, SCIP_Cut::pos, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPhashtableInsert(), SCIProwGetMaxidx(), SCIProwGetName(), SCIProwIsLocal(), SCIProwIsModifiable(), SCIProwIsRemovable(), SCIProwLock(), TRUE, and SCIP_Row::validminmaxidx.
Referenced by SCIPaddNewRowCutpool(), and SCIPcutpoolAddRow().
removes the LP row from the cut pool
- Parameters
-
cutpool | cut pool |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
lp | current LP data |
row | row to remove |
Definition at line 641 of file cutpool.c.
References cutpoolDelCut(), SCIP_Cutpool::hashtable, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPhashtableRetrieve(), and SCIProwGetName().
Referenced by SCIPdelDelayedPoolCut(), SCIPdelPoolCut(), and SCIPdelRowCutpool().
SCIP_RETCODE SCIPcutpoolSeparate |
( |
SCIP_CUTPOOL * |
cutpool, |
|
|
BMS_BLKMEM * |
blkmem, |
|
|
SCIP_SET * |
set, |
|
|
SCIP_STAT * |
stat, |
|
|
SCIP_EVENTQUEUE * |
eventqueue, |
|
|
SCIP_EVENTFILTER * |
eventfilter, |
|
|
SCIP_LP * |
lp, |
|
|
SCIP_SEPASTORE * |
sepastore, |
|
|
SCIP_SOL * |
sol, |
|
|
SCIP_Bool |
cutpoolisdelayed, |
|
|
SCIP_Bool |
root, |
|
|
SCIP_RESULT * |
result |
|
) |
| |
separates cuts of the cut pool
- Parameters
-
cutpool | cut pool |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
eventqueue | event queue |
eventfilter | event filter for global events |
lp | current LP data |
sepastore | separation storage |
sol | solution to be separated (or NULL for LP-solution) |
cutpoolisdelayed | is the cutpool delayed (count cuts found)? |
root | are we at the root node? |
result | pointer to store the result of the separation call |
Definition at line 670 of file cutpool.c.
References SCIP_Cut::age, SCIP_Cutpool::agelimit, cutIsAged(), cutpoolDelCut(), SCIP_Cutpool::cuts, FALSE, SCIP_Cutpool::firstunprocessed, SCIP_Cutpool::firstunprocessedsol, SCIP_Stat::lpcount, SCIP_Cutpool::ncalls, SCIP_Cutpool::ncuts, SCIP_Cutpool::ncutsfound, SCIP_Cutpool::nremovablecuts, NULL, SCIP_Cutpool::poolclock, SCIP_Cut::pos, SCIP_Cut::processedlp, SCIP_Cutpool::processedlp, SCIP_Cut::processedlpsol, SCIP_Cutpool::processedlpsol, SCIP_Cut::row, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_Longint, SCIP_OKAY, SCIP_SEPARATED, SCIPclockStart(), SCIPclockStop(), SCIPconshdlrIncNCutsFound(), SCIPdebugMessage, SCIProwGetLPFeasibility(), SCIProwGetName(), SCIProwGetNNonz(), SCIProwGetOriginCons(), SCIProwGetOriginSepa(), SCIProwGetSolFeasibility(), SCIProwIsInLP(), SCIProwIsLPEfficacious(), SCIProwIsModifiable(), SCIProwIsSolEfficacious(), SCIPsepaIncNCutsFound(), SCIPsepaIncNCutsFoundAtNode(), SCIPsepastoreAddCut(), SCIPsepastoreGetNCuts(), and TRUE.
Referenced by cutpoolSeparate(), SCIPseparateCutpool(), and SCIPseparateSolCutpool().
|