6.10 ABA_SEPARATOR< BaseType, CoType > Class Template Reference
abstract template class can be used to implement a separation routine
#include <separator.h>
Inheritance diagram for ABA_SEPARATOR< BaseType, CoType >::
Public Member Functions
Protected Member Functions
Protected Attributes
Private Member Functions
Private Attributes
6.10.1 Detailed Description
template<class BaseType, class CoType> class ABA_SEPARATOR< BaseType, CoType >
abstract template class can be used to implement a separation routine
-
Parameters:
-
-
ABA_MASTER
- *master A pointer to the corresponding master of the optimization.
-
ABA_LPSOLUTION<CoType,BaseType>
- *lpSol The LP solution to be separated.
Definition at line 67 of file separator.h.
6.10.2 Constructor & Destructor Documentation
6.10.2.1 template<class BaseType, class CoType> ABA_SEPARATOR< BaseType, CoType >::ABA_SEPARATOR
(ABA_LPSOLUTION< CoType, BaseType > * lpSolution, bool nonDuplications, int maxGen = 300)
The constructor.
-
Parameters:
-
-
master
- A pointer to the corresponding master of the optimization.
-
lpSolution
- The LP solution to be separated.
-
maxGen
- The maximal number of cutting planes which are stored.
-
nonDuplications
- If this flag is set, then the same constraint/variable is stored at most once in the buffer. In
this case for constraints/variables the virtual member functions name(), hashKey(), and equal() of the
base class ABA_CONVAR have to be defined. Using these three functions, we check in the function
cutFound if a constraint or variable is already stored in the buffer.
-
sendConstraint
- In the parallel version this parameter determines if the constraints should be sent to their
corresponding stores.
6.10.2.2 template<class BaseType, class CoType> virtual ABA_SEPARATOR< BaseType, CoType
>::~ABA_SEPARATOR () [virtual]
The destructor.
6.10.2.3 template<class BaseType, class CoType> ABA_SEPARATOR< BaseType, CoType >::ABA_SEPARATOR
(const ABA_SEPARATOR< BaseType, CoType > & rhs) [private]
6.10.3 Member Function Documentation
6.10.3.1 template<class BaseType, class CoType> virtual void ABA_SEPARATOR< BaseType, CoType >::separate ()
[pure virtual]
This function has to be redefined and should implement the separation routine.
6.10.3.2 template<class BaseType, class CoType> ABA_SEPARATOR_CUTFOUND ABA_SEPARATOR< BaseType,
CoType >::cutFound (BaseType *)
The function cutFound(BaseType *cv) passes a cut (constraint or variable) to the buffer.
If the buffer is full or the cut already exists, the cut is deleted.
-
Returns:
-
ABAAdded, if the cut is added to the buffer;
ABADuplication, if the cut is already in the buffer;
ABAFull, if the buffer is full.
-
Parameters:
-
-
cv
- A pointer to a new constraint/variable found by the separation algorithm.
6.10.3.3 template<class BaseType, class CoType> virtual bool ABA_SEPARATOR< BaseType, CoType
>::terminateSeparation () [inline, virtual]
-
Returns:
-
The function returns true if the separation should be terminated. In the default implementation, this is the case
if maxGen constraints/variables are in the cutBuffer.
Definition at line 117 of file separator.h.
6.10.3.4 template<class BaseType, class CoType> ABA_BUFFER<BaseType *>& ABA_SEPARATOR< BaseType,
CoType >::cutBuffer ()
-
Returns:
-
The buffer with the generated constraints/variable.
6.10.3.5 template<class BaseType, class CoType> int ABA_SEPARATOR< BaseType, CoType >::nGen ()
const
-
Returns:
-
The number of generated cutting planes.
6.10.3.6 template<class BaseType, class CoType> int ABA_SEPARATOR< BaseType, CoType >::nDuplications ()
const
-
Returns:
-
The number of duplicated constraints/variables which are discarded.
6.10.3.7 template<class BaseType, class CoType> int ABA_SEPARATOR< BaseType, CoType >::nCollisions ()
const
-
Returns:
-
The number of collisions in the hash table.
6.10.3.8 template<class BaseType, class CoType> int ABA_SEPARATOR< BaseType, CoType >::maxGen ()
const
-
Returns:
-
The maximal number of generated cutting planes.
6.10.3.9 template<class BaseType, class CoType> double ABA_SEPARATOR< BaseType, CoType
>::minAbsViolation () const
-
Returns:
-
The absolute value for considering a constraint/variable as violated.
6.10.3.10 template<class BaseType, class CoType> void ABA_SEPARATOR< BaseType, CoType >::minAbsViolation
(double minAbsVio) [inline]
Set a new value for minAbsViolation.
Definition at line 145 of file separator.h.
6.10.3.11 template<class BaseType, class CoType> ABA_LPSOLUTION<CoType, BaseType>*ABA_SEPARATOR<
BaseType, CoType >::lpSolution () [inline]
The lpSolution to be separated.
Definition at line 149 of file separator.h.
6.10.3.12 template<class BaseType, class CoType> void ABA_SEPARATOR< BaseType, CoType >::watchNonDuplPool
(ABA_NONDUPLPOOL< BaseType, CoType > * pool) [inline]
If the separator checks for duplication of cuts, the test is also done for constraints/variables that are in the pool passed as
argument.
This can be useful if already cuts are generated by performing constraint pool separation of this pool.
Definition at line 160 of file separator.h.
6.10.3.13 template<class BaseType, class CoType> bool ABA_SEPARATOR< BaseType, CoType >::find (BaseType
*) [protected]
-
Returns:
-
The function checks if a constraint/variable that is equivalent to cv according to the function
ABA_CONVAR::equal() is already stored in the buffer by using the hashtable.
-
Parameters:
-
-
cv
- A pointer to a constraint/variable for which it should be checked if an equivalent item is already contained
in the buffer.
6.10.3.14 template<class BaseType, class CoType> const ABA_SEPARATOR<BaseType, CoType>&
ABA_SEPARATOR< BaseType, CoType >::operator= (const ABA_SEPARATOR< BaseType, CoType > & rhs)
[private]
6.10.4 Member Data Documentation
6.10.4.1 template<class BaseType, class CoType> ABA_MASTER*ABA_SEPARATOR< BaseType, CoType
>::master_ [protected]
Definition at line 173 of file separator.h.
6.10.4.2 template<class BaseType, class CoType> ABA_LPSOLUTION<CoType, BaseType>*ABA_SEPARATOR<
BaseType, CoType >::lpSol_ [protected]
Definition at line 174 of file separator.h.
6.10.4.3 template<class BaseType, class CoType> double ABA_SEPARATOR< BaseType, CoType
>::minAbsViolation_ [private]
Definition at line 176 of file separator.h.
6.10.4.4 template<class BaseType, class CoType> ABA_BUFFER<BaseType*> ABA_SEPARATOR< BaseType,
CoType >::newCons_ [private]
Definition at line 177 of file separator.h.
6.10.4.5 template<class BaseType, class CoType> ABA_HASH<unsigned, BaseType*>*ABA_SEPARATOR<
BaseType, CoType >::hash_ [private]
Definition at line 178 of file separator.h.
6.10.4.6 template<class BaseType, class CoType> int ABA_SEPARATOR< BaseType, CoType >::nDuplications_
[private]
Definition at line 179 of file separator.h.
6.10.4.7 template<class BaseType, class CoType> bool ABA_SEPARATOR< BaseType, CoType >::sendConstraints_
[private]
Definition at line 180 of file separator.h.
6.10.4.8 template<class BaseType, class CoType> ABA_NONDUPLPOOL<BaseType, CoType>*ABA_SEPARATOR<
BaseType, CoType >::pool_ [private]
Definition at line 181 of file separator.h.
The documentation for this class was generated from the following file:
%