Detailed Description
internal methods for storing cuts in a cut pool
Definition in file cutpool.h.
#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/type_event.h"
#include "scip/type_retcode.h"
#include "scip/type_result.h"
#include "scip/type_set.h"
#include "scip/type_sol.h"
#include "scip/type_stat.h"
#include "scip/type_lp.h"
#include "scip/type_sepastore.h"
#include "scip/type_cutpool.h"
#include "scip/pub_cutpool.h"
Go to the source code of this file.
Function Documentation
◆ SCIPcutpoolCreate()
SCIP_RETCODE SCIPcutpoolCreate | ( | SCIP_CUTPOOL ** | cutpool, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
int | agelimit, | ||
SCIP_Bool | globalcutpool | ||
) |
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 418 of file cutpool.c.
References BMSallocMemory, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_HASHSIZE_CUTPOOLS, SCIP_HASHSIZE_CUTPOOLS_SMALL, SCIP_INVALID, SCIP_OKAY, SCIPclockCreate(), and SCIPhashtableCreate().
Referenced by initSolve(), and SCIPcreateCutpool().
◆ SCIPcutpoolFree()
SCIP_RETCODE SCIPcutpoolFree | ( | SCIP_CUTPOOL ** | cutpool, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_LP * | lp | ||
) |
frees cut pool
- Parameters
-
cutpool pointer to store cut pool blkmem block memory set global SCIP settings lp current LP data
Definition at line 457 of file cutpool.c.
References BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, SCIP_CALL, SCIP_OKAY, SCIPclockFree(), SCIPcutpoolClear(), and SCIPhashtableFree().
Referenced by freeReoptSolve(), freeSolve(), and SCIPfreeCutpool().
◆ SCIPcutpoolClear()
SCIP_RETCODE SCIPcutpoolClear | ( | SCIP_CUTPOOL * | cutpool, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_LP * | lp | ||
) |
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 483 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 freeReoptSolve(), freeSolve(), and SCIPcutpoolFree().
◆ SCIPcutpoolIsCutNew()
SCIP_Bool SCIPcutpoolIsCutNew | ( | SCIP_CUTPOOL * | cutpool, |
SCIP_SET * | set, | ||
SCIP_ROW * | row | ||
) |
checks if cut is already existing
- Parameters
-
cutpool cut pool set global SCIP settings row cutting plane to add
Definition at line 581 of file cutpool.c.
References SCIP_Row::constant, FALSE, SCIP_Cutpool::hashtable, SCIP_Row::len, SCIP_Row::lhs, NULL, SCIP_Row::rhs, SCIP_Cut::row, SCIP_Real, SCIPhashtableRetrieve(), SCIProwGetMaxval(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), and TRUE.
Referenced by SCIPisCutNew().
◆ SCIPcutpoolAddRow()
SCIP_RETCODE SCIPcutpoolAddRow | ( | SCIP_CUTPOOL * | cutpool, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_LP * | lp, | ||
SCIP_ROW * | row | ||
) |
if not already existing, adds row to cut pool and captures it
- Parameters
-
cutpool cut pool blkmem block memory set global SCIP settings stat problem statistics data lp current LP data row cutting plane to add
Definition at line 644 of file cutpool.c.
References SCIP_Row::constant, cutpoolDelCut(), SCIP_Cutpool::hashtable, SCIP_Row::len, SCIP_Row::lhs, NULL, SCIP_Row::rhs, SCIP_Cut::row, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcutpoolAddNewRow(), SCIPcutpoolAddRow(), SCIPhashtableRetrieve(), SCIProwGetMaxval(), SCIPsetIsFeasLT(), and SCIPsetIsInfinity().
Referenced by SCIPaddDelayedPoolCut(), SCIPaddPoolCut(), SCIPaddRowCutpool(), SCIPcutpoolAddRow(), and SCIPreoptApplyCuts().
◆ SCIPcutpoolAddNewRow()
SCIP_RETCODE SCIPcutpoolAddNewRow | ( | SCIP_CUTPOOL * | cutpool, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_LP * | lp, | ||
SCIP_ROW * | row | ||
) |
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 stat problem statistics data lp current LP data row cutting plane to add
Definition at line 714 of file cutpool.c.
References SCIP_Stat::bestefficacy, 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_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIPerrorMessage, SCIPhashtableExists(), SCIPhashtableInsert(), SCIPlpGetSolstat(), SCIProwGetLPEfficacy(), SCIProwGetMaxidx(), SCIProwGetName(), SCIProwIsLocal(), SCIProwIsModifiable(), SCIProwIsRemovable(), SCIProwLock(), TRUE, and SCIP_Row::validminmaxidx.
Referenced by SCIPaddNewRowCutpool(), and SCIPcutpoolAddRow().
◆ SCIPcutpoolDelRow()
SCIP_RETCODE SCIPcutpoolDelRow | ( | SCIP_CUTPOOL * | cutpool, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_LP * | lp, | ||
SCIP_ROW * | row | ||
) |
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 783 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().
◆ SCIPcutpoolSeparate()
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 812 of file cutpool.c.
References SCIP_Cut::age, SCIP_Stat::bestefficacy, cutIsAged(), cutpoolDelCut(), FALSE, SCIP_Cutpool::firstunprocessed, SCIP_Cutpool::firstunprocessedsol, SCIP_Stat::lpcount, MAX, SCIP_Stat::minefficacyfac, SCIP_Cutpool::ncalls, SCIP_Stat::ncutpoolfails, SCIP_Cutpool::ncuts, SCIP_Cutpool::nremovablecuts, NULL, SCIP_Cut::pos, SCIP_Cut::processedlp, SCIP_Cutpool::processedlp, SCIP_Cutpool::processedlpefficacy, SCIP_Cut::processedlpsol, SCIP_Cutpool::processedlpsol, SCIP_Cutpool::processedlpsolefficacy, SCIP_Cut::row, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_SEPARATED, SCIPclockStart(), SCIPclockStop(), SCIPconshdlrIncNCutsFound(), SCIProwGetLPEfficacy(), SCIProwGetLPFeasibility(), SCIProwGetName(), SCIProwGetNNonz(), SCIProwGetOriginConshdlr(), SCIProwGetOriginSepa(), SCIProwGetSolEfficacy(), SCIProwGetSolFeasibility(), SCIProwIsInLP(), SCIProwIsModifiable(), SCIPsepaIncNCutsFound(), SCIPsepaIncNCutsFoundAtNode(), SCIPsepastoreAddCut(), SCIPsepastoreGetNCuts(), SCIPsetDebugMsg, SCIPsetGetSepaMaxcuts(), SCIPsetIsFeasPositive(), and TRUE.
Referenced by cutpoolSeparate(), SCIPseparateCutpool(), and SCIPseparateSolCutpool().