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_implics.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_reopt.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 79 of file sepastore.c. References BMSallocMemory, FALSE, NULL, SCIP_ALLOC, and SCIP_OKAY. Referenced by initSolve().
frees separation storage
Definition at line 105 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 124 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 136 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 148 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 159 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 554 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 1117 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(), SCIPapplyCutsProbing(), and SCIPinitConssLP().
clears the separation storage without adding the cuts to the LP
Definition at line 1249 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 1297 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 1338 of file sepastore.c. References SCIProwGetNNonz(), SCIProwIsModifiable(), and sepastoreIsBdchgApplicable(). Referenced by SCIPisCutApplicable().
get cuts in the separation storage
Definition at line 1347 of file sepastore.c. References SCIP_SepaStore::cuts, and NULL. Referenced by SCIPgetCuts().
get number of cuts in the separation storage
Definition at line 1357 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 1367 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 1377 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 1387 of file sepastore.c. References SCIP_SepaStore::ncutsapplied, and NULL. Referenced by SCIPgetNCutsApplied(). |