internal methods for storing separated exact cuts
Definition in file sepastoreexact.c.
#include <assert.h>#include "scip/def.h"#include "scip/cons.h"#include "scip/cuts.h"#include "scip/debug.h"#include "scip/event.h"#include "scip/lp.h"#include "scip/lpexact.h"#include "scip/misc.h"#include "scip/rational.h"#include "scip/reopt.h"#include "scip/sepa.h"#include "scip/sepastoreexact.h"#include "scip/set.h"#include "scip/stat.h"#include "scip/struct_lpexact.h"#include "scip/struct_sepastore.h"#include "scip/tree.h"#include "scip/var.h"Go to the source code of this file.
Functions | |
| static SCIP_RETCODE | sepastoreExactEnsureCutsMem (SCIP_SEPASTOREEXACT *sepastoreexact, SCIP_SET *set, int num) |
| SCIP_RETCODE | SCIPsepastoreExactCreate (SCIP_SEPASTOREEXACT **sepastoreexact, SCIP_SET *set) |
| SCIP_RETCODE | SCIPsepastoreExactFree (SCIP_SEPASTOREEXACT **sepastoreexact) |
| SCIP_RETCODE | SCIPsepastoreExactAddCut (SCIP_SEPASTOREEXACT *sepastoreexact, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_ROWEXACT *cut) |
| SCIP_RETCODE | SCIPsepastoreExactClearCuts (SCIP_SEPASTOREEXACT *sepastoreexact, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_LPEXACT *lp) |
| SCIP_ROWEXACT ** | SCIPsepastoreExactGetCuts (SCIP_SEPASTOREEXACT *sepastoreexact) |
| int | SCIPsepastoreExactGetNCuts (SCIP_SEPASTOREEXACT *sepastoreexact) |
| int | SCIPsepastoreExactGetNCutsFound (SCIP_SEPASTOREEXACT *sepastoreexact) |
| int | SCIPsepastoreExactGetNCutsFoundRound (SCIP_SEPASTOREEXACT *sepastoreexact) |
| int | SCIPsepastoreExactGetNCutsApplied (SCIP_SEPASTOREEXACT *sepastoreexact) |
|
static |
resizes cuts and score arrays to be able to store at least num entries
| sepastoreexact | separation storage |
| set | global SCIP settings |
| num | minimal number of slots in array |
Definition at line 56 of file sepastoreexact.c.
References assert(), BMSreallocMemoryArray, SCIP_SepaStoreExact::cuts, SCIP_SepaStoreExact::cutssize, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPsepastoreExactAddCut().
| SCIP_RETCODE SCIPsepastoreExactCreate | ( | SCIP_SEPASTOREEXACT ** | sepastoreexact, |
| SCIP_SET * | set ) |
creates separation storage
Definition at line 79 of file sepastoreexact.c.
References assert(), BMSallocMemory, FALSE, NULL, SCIP_ALLOC, and SCIP_OKAY.
Referenced by initSolve().
| SCIP_RETCODE SCIPsepastoreExactFree | ( | SCIP_SEPASTOREEXACT ** | sepastoreexact | ) |
frees separation storage
| sepastoreexact | pointer to store separation storage |
Definition at line 104 of file sepastoreexact.c.
References assert(), BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, and SCIP_OKAY.
Referenced by freeSolve().
| SCIP_RETCODE SCIPsepastoreExactAddCut | ( | SCIP_SEPASTOREEXACT * | sepastoreexact, |
| SCIP_SET * | set, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_ROWEXACT * | cut ) |
adds cut to separation storage and captures it
| sepastoreexact | separation storage |
| set | global SCIP settings |
| eventqueue | event queue |
| cut | separated cut |
Definition at line 145 of file sepastoreexact.c.
References assert(), SCIP_SepaStoreExact::cuts, SCIP_SepaStoreExact::cutssize, SCIP_RowExact::fprow, SCIP_SepaStoreExact::initiallp, SCIP_SepaStoreExact::ncuts, SCIP_SepaStoreExact::ncutsfound, SCIP_SepaStoreExact::ncutsfoundround, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugCheckRow, SCIPrationalIsInfinity(), SCIPrationalIsNegInfinity(), SCIProwExactCapture(), SCIProwExactGetLhs(), SCIProwExactGetRhs(), SCIProwGetName(), SCIProwGetNNonz(), SCIPsetDebugMsg, and sepastoreExactEnsureCutsMem().
Referenced by SCIPaddRowExact().
| SCIP_RETCODE SCIPsepastoreExactClearCuts | ( | SCIP_SEPASTOREEXACT * | sepastoreexact, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_LPEXACT * | lp ) |
clears the separation storage without adding the cuts to the LP
Definition at line 190 of file sepastoreexact.c.
References assert(), BMSfreeMemoryArrayNull, c, SCIP_SepaStoreExact::cuts, SCIP_SepaStoreExact::cutssize, SCIP_SepaStoreExact::initiallp, SCIP_SepaStoreExact::ncuts, SCIP_SepaStoreExact::ncutsfoundround, NULL, SCIP_CALL, SCIP_OKAY, SCIProwExactRelease(), and SCIPsetDebugMsg.
Referenced by freeSolve().
| SCIP_ROWEXACT ** SCIPsepastoreExactGetCuts | ( | SCIP_SEPASTOREEXACT * | sepastoreexact | ) |
get cuts in the separation storage
| sepastoreexact | separation storage |
Definition at line 228 of file sepastoreexact.c.
References assert(), SCIP_SepaStoreExact::cuts, and NULL.
| int SCIPsepastoreExactGetNCuts | ( | SCIP_SEPASTOREEXACT * | sepastoreexact | ) |
get number of cuts in the separation storage
| sepastoreexact | separation storage |
Definition at line 238 of file sepastoreexact.c.
References assert(), SCIP_SepaStoreExact::ncuts, and NULL.
| int SCIPsepastoreExactGetNCutsFound | ( | SCIP_SEPASTOREEXACT * | sepastoreexact | ) |
get total number of cuts found so far
| sepastoreexact | separation storage |
Definition at line 248 of file sepastoreexact.c.
References assert(), SCIP_SepaStoreExact::ncutsfound, and NULL.
| int SCIPsepastoreExactGetNCutsFoundRound | ( | SCIP_SEPASTOREEXACT * | sepastoreexact | ) |
get number of cuts found so far in current separation round
| sepastoreexact | separation storage |
Definition at line 258 of file sepastoreexact.c.
References assert(), SCIP_SepaStoreExact::ncutsfoundround, and NULL.
| int SCIPsepastoreExactGetNCutsApplied | ( | SCIP_SEPASTOREEXACT * | sepastoreexact | ) |
get total number of cuts applied to the LPs
| sepastoreexact | separation storage |
Definition at line 268 of file sepastoreexact.c.
References assert(), SCIP_SepaStoreExact::ncutsapplied, and NULL.