Detailed Description
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) |
Function Documentation
◆ sepastoreExactEnsureCutsMem()
|
static |
resizes cuts and score arrays to be able to store at least num entries
- Parameters
-
sepastoreexact separation storage set global SCIP settings num minimal number of slots in array
Definition at line 56 of file sepastoreexact.c.
References BMSreallocMemoryArray, SCIP_SepaStoreExact::cuts, SCIP_SepaStoreExact::cutssize, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPsepastoreExactAddCut().
◆ SCIPsepastoreExactCreate()
| SCIP_RETCODE SCIPsepastoreExactCreate | ( | SCIP_SEPASTOREEXACT ** | sepastoreexact, |
| SCIP_SET * | set | ||
| ) |
creates separation storage
- Parameters
-
sepastoreexact pointer to store separation storage set global SCIP settings
Definition at line 79 of file sepastoreexact.c.
References BMSallocMemory, FALSE, NULL, SCIP_ALLOC, and SCIP_OKAY.
Referenced by initSolve().
◆ SCIPsepastoreExactFree()
| SCIP_RETCODE SCIPsepastoreExactFree | ( | SCIP_SEPASTOREEXACT ** | sepastoreexact | ) |
frees separation storage
- Parameters
-
sepastoreexact pointer to store separation storage
Definition at line 104 of file sepastoreexact.c.
References BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, and SCIP_OKAY.
Referenced by freeSolve().
◆ SCIPsepastoreExactAddCut()
| SCIP_RETCODE SCIPsepastoreExactAddCut | ( | SCIP_SEPASTOREEXACT * | sepastoreexact, |
| SCIP_SET * | set, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_ROWEXACT * | cut | ||
| ) |
adds cut to separation storage and captures it
- Parameters
-
sepastoreexact separation storage set global SCIP settings eventqueue event queue cut separated cut
Definition at line 145 of file sepastoreexact.c.
References 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().
◆ SCIPsepastoreExactClearCuts()
| 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
- Parameters
-
sepastoreexact separation storage blkmem block memory set global SCIP settings lp LP data
Definition at line 190 of file sepastoreexact.c.
References BMSfreeMemoryArrayNull, 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().
◆ SCIPsepastoreExactGetCuts()
| SCIP_ROWEXACT ** SCIPsepastoreExactGetCuts | ( | SCIP_SEPASTOREEXACT * | sepastoreexact | ) |
get cuts in the separation storage
- Parameters
-
sepastoreexact separation storage
Definition at line 228 of file sepastoreexact.c.
References SCIP_SepaStoreExact::cuts, and NULL.
◆ SCIPsepastoreExactGetNCuts()
| int SCIPsepastoreExactGetNCuts | ( | SCIP_SEPASTOREEXACT * | sepastoreexact | ) |
get number of cuts in the separation storage
- Parameters
-
sepastoreexact separation storage
Definition at line 238 of file sepastoreexact.c.
References SCIP_SepaStoreExact::ncuts, and NULL.
◆ SCIPsepastoreExactGetNCutsFound()
| int SCIPsepastoreExactGetNCutsFound | ( | SCIP_SEPASTOREEXACT * | sepastoreexact | ) |
get total number of cuts found so far
- Parameters
-
sepastoreexact separation storage
Definition at line 248 of file sepastoreexact.c.
References SCIP_SepaStoreExact::ncutsfound, and NULL.
◆ SCIPsepastoreExactGetNCutsFoundRound()
| int SCIPsepastoreExactGetNCutsFoundRound | ( | SCIP_SEPASTOREEXACT * | sepastoreexact | ) |
get number of cuts found so far in current separation round
- Parameters
-
sepastoreexact separation storage
Definition at line 258 of file sepastoreexact.c.
References SCIP_SepaStoreExact::ncutsfoundround, and NULL.
◆ SCIPsepastoreExactGetNCutsApplied()
| int SCIPsepastoreExactGetNCutsApplied | ( | SCIP_SEPASTOREEXACT * | sepastoreexact | ) |
get total number of cuts applied to the LPs
- Parameters
-
sepastoreexact separation storage
Definition at line 268 of file sepastoreexact.c.
References SCIP_SepaStoreExact::ncutsapplied, and NULL.