CoinCutPool
Class for storing a pool of cuts, removing the repeated and dominated ones.
Class for storing a pool of cuts, removing the repeated and dominated ones.
Description
It also filters the cuts according to their scores.
Public Methods
CoinCutPool
Default constructor.
CoinCutPool(const double * x, int numCols)
Parameters:
x(const double *) - current solution of the LP relaxation of the MILP.numCols(int) - number of variables of the MILP.
~CoinCutPool
Destructor.
~CoinCutPool()
numCuts
Return the number of cuts in the pool.
size_t numCuts()
cutIdxs
Return the indexes of the variables of the i-th cut in the pool.
const int * cutIdxs(size_t i)
Parameters:
i(size_t)
cutCoefs
Return the coefficients of the variables of the i-th cut in the pool.
const double * cutCoefs(size_t i)
Parameters:
i(size_t)
cutSize
Return the size of the i-th cut in the pool.
int cutSize(size_t i)
Parameters:
i(size_t)
cutRHS
Return the right-hand side of the i-th cut in the pool.
double cutRHS(size_t i)
Parameters:
i(size_t)
add
Try to add a cut in the pool.
bool add(const int * idxs, const double * coefs, int nz, double rhs)
Parameters:
idxs(const int *) - indexes of the variables of the cut to be added.coefs(const double *) - coefficients of the variables of the cut to be added.nz(int) - size of the cut to be addedrhs(double) - right-hand side of the cut to be added
removeDominated
Remove dominated cuts.
void removeDominated()
removeNullCuts
Remove cuts that are previous deleted.
void removeNullCuts()
Source
Header: layer-0/CoinUtils/src/CoinCutPool.hpp