38template <
class BaseType,
class CoType>
class Active;
61template<
class BaseType,
class CoType>
107 Logger::ifout() <<
"removeConVar(): removing constraint from slot failed\n";
140 double minAbsViolation = 0.001,
Base class of all other classes of ABACUS.
Implements the sets of active constraints and variables which are associated with each subproblem.
The master of the optimization.
Base class for constraint/variabe pools.
int number() const
Returns the current number of items in the pool.
virtual PoolSlot< BaseType, CoType > * getSlot()=0
Tries to find a free slot in the pool.
Master * master_
A pointer to the corresponding master of the optimization.
virtual void hardDeleteConVar(PoolSlot< BaseType, CoType > *slot)
Removes a constraint/variable from the pool and adds the slot to the set of free slots.
RANKING
Determines how th rank of a constraint/variable is computed.
@ NO_RANK
No rank is computed.
@ RANK
The violation computed by the function violated() of the classes Constraint or Variable is used as ra...
@ ABS_RANK
The absolute value of the violation is taken as rank.
Pool(Master *master)
Initializes an empty pool.
virtual int separate(double *z, Active< CoType, BaseType > *active, Sub *sub, CutBuffer< BaseType, CoType > *cutBuffer, double minAbsViolation=0.001, int ranking=0)=0
Checks if a pair of a vector and an active constraint/variable set violates any item in the pool.
virtual int softDeleteConVar(PoolSlot< BaseType, CoType > *slot)
Removes the constraint/variable stored in slot from the pool if it can be deleted.
virtual PoolSlot< BaseType, CoType > * insert(BaseType *cv)=0
Tries to insert a constraint/variable in the pool.
virtual void putSlot(PoolSlot< BaseType, CoType > *slot)=0
Makes an PoolSlot again available for later calls of getSlot().
int number_
The current number of constraints in the pool.
void removeConVar(PoolSlot< BaseType, CoType > *slot)
Removes the constraint/variable stored in a pool slot and adds the slot to the list of free slots.
Stores constraints and variables.
int softDelete()
Tries to remove the item from the slot.
void hardDelete()
Deletes the constraint/variable in the slot.
Exception thrown when an algorithm realizes an internal bug that prevents it from continuing.
static std::ostream & ifout()
stream for forced output (global; used by internal libraries, e.g. Abacus)
#define OGDF_THROW_PARAM(CLASS, PARAM)
Replacement for throw.
the master of the optimization.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()