All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sepastore.h File Reference Detailed Descriptioninternal methods for storing separated cuts Definition in file sepastore.h. #include "scip/def.h" #include "blockmemshell/memory.h" #include "scip/type_retcode.h" #include "scip/type_set.h" #include "scip/type_stat.h" #include "scip/type_event.h" #include "scip/type_lp.h" #include "scip/type_prob.h" #include "scip/type_tree.h" #include "scip/type_sepastore.h" #include "scip/type_branch.h" Go to the source code of this file. Function Documentation
creates separation storage
Definition at line 78 of file sepastore.c. References BMSallocMemory, FALSE, NULL, SCIP_ALLOC, and SCIP_OKAY. Referenced by initSolve().
frees separation storage
Definition at line 104 of file sepastore.c. References BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, and SCIP_OKAY. Referenced by freeSolve().
informs separation storage, that the setup of the initial LP starts now
Definition at line 123 of file sepastore.c. References SCIP_SepaStore::initiallp, SCIP_SepaStore::ncuts, NULL, and TRUE. Referenced by SCIPinitConssLP().
informs separation storage, that the setup of the initial LP is now finished
Definition at line 135 of file sepastore.c. References FALSE, SCIP_SepaStore::initiallp, SCIP_SepaStore::ncuts, and NULL. Referenced by SCIPinitConssLP().
informs separation storage, that the following cuts should be used in any case
Definition at line 147 of file sepastore.c. References SCIP_SepaStore::forcecuts, NULL, and TRUE. Referenced by enforceConstraints().
informs separation storage, that the following cuts should no longer be used in any case
Definition at line 158 of file sepastore.c. References FALSE, SCIP_SepaStore::forcecuts, and NULL. Referenced by enforceConstraints().
adds cut to separation storage and captures it; if the cut should be forced to enter the LP, an infinite score has to be used
Definition at line 546 of file sepastore.c. References SCIP_SepaStore::initiallp, SCIP_SepaStore::ncutsfound, SCIP_SepaStore::ncutsfoundround, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugCheckRow, SCIProwGetLhs(), SCIProwGetRhs(), SCIProwIsInLP(), SCIPsetIsInfinity(), and sepastoreAddCut(). Referenced by SCIPaddCut(), and SCIPcutpoolSeparate().
adds cuts to the LP and clears separation storage
Definition at line 1097 of file sepastore.c. References computeScore(), SCIP_SepaStore::cuts, SCIP_SepaStore::efficacies, FALSE, MAX, SCIP_SepaStore::ncuts, SCIP_SepaStore::nforcedcuts, NULL, SCIP_SepaStore::objparallelisms, SCIP_SepaStore::orthogonalities, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPnodeGetDepth(), SCIProwCapture(), SCIProwGetName(), SCIProwGetNNonz(), SCIProwIsModifiable(), SCIProwRelease(), SCIPsepastoreClearCuts(), SCIPsetGetSepaMaxcuts(), SCIPsetIsFeasPositive(), SCIPsetIsInfinity(), SCIPtreeGetCurrentNode(), SCIP_SepaStore::scores, sepastoreApplyBdchg(), sepastoreApplyCut(), sepastoreDelCut(), sepastoreGetBestCut(), sepastoreIsBdchgApplicable(), and TRUE. Referenced by applyCuts(), priceAndCutLoop(), and SCIPinitConssLP().
clears the separation storage without adding the cuts to the LP
Definition at line 1226 of file sepastore.c. References BMSfreeMemoryArrayNull, SCIP_SepaStore::cuts, SCIP_SepaStore::cutssize, SCIP_EventFilter::eventmask, SCIP_SepaStore::initiallp, SCIP_EventFilter::len, SCIP_SepaStore::ncuts, SCIP_SepaStore::ncutsfoundround, SCIP_SepaStore::nforcedcuts, NULL, SCIP_CALL, SCIP_EVENTTYPE_ROWDELETEDSEPA, SCIP_OKAY, SCIPdebugMessage, SCIPeventCreateRowDeletedSepa(), SCIPeventqueueAdd(), and SCIProwRelease(). Referenced by applyCuts(), priceAndCutLoop(), SCIPclearCuts(), and SCIPsepastoreApplyCuts().
removes cuts that are inefficacious w.r.t. the current LP solution from separation storage without adding the cuts to the LP
Definition at line 1274 of file sepastore.c. References computeScore(), SCIP_SepaStore::efficacies, FALSE, SCIP_SepaStore::nforcedcuts, NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPdebugMessage, SCIPsetIsEfficacious(), and sepastoreDelCut(). Referenced by SCIPremoveInefficaciousCuts(). indicates whether a cut is applicable A cut is applicable if it is modifiable, not a bound change, or a bound change that changes bounds by at least epsilon.
Definition at line 1315 of file sepastore.c. References SCIProwGetNNonz(), SCIProwIsModifiable(), and sepastoreIsBdchgApplicable(). Referenced by SCIPisCutApplicable().
get cuts in the separation storage
Definition at line 1324 of file sepastore.c. References SCIP_SepaStore::cuts, and NULL. Referenced by SCIPgetCuts().
get number of cuts in the separation storage
Definition at line 1334 of file sepastore.c. References SCIP_SepaStore::ncuts, and NULL. Referenced by applyCuts(), cutpoolSeparate(), enforceConstraints(), priceAndCutLoop(), propAndSolve(), SCIPbranchruleExecExternSol(), SCIPbranchruleExecLPSol(), SCIPconshdlrEnforceLPSol(), SCIPconshdlrSeparateLP(), SCIPconshdlrSeparateSol(), SCIPcutpoolSeparate(), SCIPgetNCuts(), SCIPsepaExecLP(), SCIPsepaExecSol(), separationRoundLP(), separationRoundSol(), solveNode(), and solveNodeLP().
get total number of cuts found so far
Definition at line 1344 of file sepastore.c. References SCIP_SepaStore::ncutsfound, and NULL. Referenced by SCIPgetNCutsFound().
get number of cuts found so far in current separation round
Definition at line 1354 of file sepastore.c. References SCIP_SepaStore::ncutsfoundround, and NULL. Referenced by SCIPgetNCutsFoundRound().
get total number of cuts applied to the LPs
Definition at line 1364 of file sepastore.c. References SCIP_SepaStore::ncutsapplied, and NULL. Referenced by SCIPgetNCutsApplied(). |