|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
65 template <
class BaseType,
class CoType>
66 class Separator :
public AbacusRoot {
182 bool find(BaseType *cv);
An array that keeps track of the number of inserted elements; also usable as an efficient stack.
Standard pools without constraint duplication.
int nCollisions() const
Returns the number of collisions in the hash table.
void minAbsViolation(double minAbsVio)
Sets a new value for minAbsViolation.
virtual bool terminateSeparation()
Returns true if the separation should be terminated.
void watchNonDuplPool(NonDuplPool< BaseType, CoType > *pool)
If the separator checks for duplication of cuts, the test is also done for constraints/variables that...
Master * master_
A pointer to the corresponding master of the optimization.
int maxGen() const
Returns the maximal number of generated cutting planes.
AbaHash< unsigned, BaseType * > * hash_
virtual void separate()=0
This function has to be redefined and should implement the separation routine.
NonDuplPool< BaseType, CoType > * pool_
LpSolution< CoType, BaseType > * lpSol_
The LP solution to be separated.
int nGen() const
Returns the number of generated cutting planes.
const Separator< BaseType, CoType > & operator=(const Separator< BaseType, CoType > &rhs)
INDEX size() const
Returns number of elements in the buffer.
double minAbsViolation() const
Returns the absolute value for considering a constraint/variable as violated.
standard pool without constraint duplication.
ArrayBuffer< BaseType * > & cutBuffer()
Returns the buffer with the generated constraints/variable.
Separator_CUTFOUND cutFound(BaseType *cv)
Passes a cut (constraint or variable) to the buffer.
ArrayBuffer< BaseType * > newCons_
int nDuplications() const
Returns the number of duplicated constraints/variables which are discarded.
virtual ~Separator()
The destructor.
Separator(LpSolution< CoType, BaseType > *lpSolution, bool nonDuplications, int maxGen=300)
Creates a separator.
Global data and functions.
LpSolution< CoType, BaseType > * lpSolution()
The lpSolution to be separated.
The master of the optimization.