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:
      
 %