#include <separator.h>
Inheritance diagram for ABA_SEPARATOR< BaseType, CoType >:

Public Member Functions | |
| ABA_SEPARATOR (ABA_LPSOLUTION< CoType, BaseType > *lpSolution, bool nonDuplications, int maxGen=300) | |
| virtual | ~ABA_SEPARATOR () |
| The destructor. | |
| virtual void | separate ()=0 |
| This function has to be redefined and should implement the separation routine. | |
| ABA_SEPARATOR_CUTFOUND | cutFound (BaseType *) |
| The function cutFound(BaseType *cv) passes a cut (constraint or variable) to the buffer. | |
| virtual bool | terminateSeparation () |
| ABA_BUFFER< BaseType * > & | cutBuffer () |
| int | nGen () const |
| int | nDuplications () const |
| int | nCollisions () const |
| int | maxGen () const |
| double | minAbsViolation () const |
| void | minAbsViolation (double minAbsVio) |
| Set a new value for minAbsViolation. | |
| ABA_LPSOLUTION< CoType, BaseType > * | lpSolution () |
| The lpSolution to be separated. | |
| void | watchNonDuplPool (ABA_NONDUPLPOOL< BaseType, CoType > *pool) |
| If the separator checks for duplication of cuts, the test is also done for constraints/variables that are in the pool passed as argument. | |
Protected Member Functions | |
| bool | find (BaseType *) |
Protected Attributes | |
| ABA_MASTER * | master_ |
| ABA_LPSOLUTION< CoType, BaseType > * | lpSol_ |
Private Member Functions | |
| ABA_SEPARATOR (const ABA_SEPARATOR< BaseType, CoType > &rhs) | |
| const ABA_SEPARATOR< BaseType, CoType > & | operator= (const ABA_SEPARATOR< BaseType, CoType > &rhs) |
Private Attributes | |
| double | minAbsViolation_ |
| ABA_BUFFER< BaseType * > | newCons_ |
| ABA_HASH< unsigned, BaseType * > * | hash_ |
| int | nDuplications_ |
| bool | sendConstraints_ |
| ABA_NONDUPLPOOL< BaseType, CoType > * | pool_ |
| 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.
| ABA_SEPARATOR< BaseType, CoType >::ABA_SEPARATOR | ( | ABA_LPSOLUTION< CoType, BaseType > * | lpSolution, | |
| bool | nonDuplications, | |||
| int | maxGen = 300 | |||
| ) |
The constructor.
| 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. |
| virtual ABA_SEPARATOR< BaseType, CoType >::~ABA_SEPARATOR | ( | ) | [virtual] |
The destructor.
| ABA_SEPARATOR< BaseType, CoType >::ABA_SEPARATOR | ( | const ABA_SEPARATOR< BaseType, CoType > & | rhs | ) | [private] |
| virtual void ABA_SEPARATOR< BaseType, CoType >::separate | ( | ) | [pure virtual] |
This function has to be redefined and should implement the separation routine.
| 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.
ABADuplication, if the cut is already in the buffer;
ABAFull, if the buffer is full.
| cv | A pointer to a new constraint/variable found by the separation algorithm. |
| virtual bool ABA_SEPARATOR< BaseType, CoType >::terminateSeparation | ( | ) | [inline, virtual] |
Definition at line 117 of file separator.h.
| ABA_BUFFER<BaseType *>& ABA_SEPARATOR< BaseType, CoType >::cutBuffer | ( | ) |
| int ABA_SEPARATOR< BaseType, CoType >::nGen | ( | ) | const |
| int ABA_SEPARATOR< BaseType, CoType >::nDuplications | ( | ) | const |
| int ABA_SEPARATOR< BaseType, CoType >::nCollisions | ( | ) | const |
| int ABA_SEPARATOR< BaseType, CoType >::maxGen | ( | ) | const |
| double ABA_SEPARATOR< BaseType, CoType >::minAbsViolation | ( | ) | const |
| void ABA_SEPARATOR< BaseType, CoType >::minAbsViolation | ( | double | minAbsVio | ) | [inline] |
| ABA_LPSOLUTION<CoType, BaseType>* ABA_SEPARATOR< BaseType, CoType >::lpSolution | ( | ) | [inline] |
| 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.
| bool ABA_SEPARATOR< BaseType, CoType >::find | ( | BaseType * | ) | [protected] |
| cv | A pointer to a constraint/variable for which it should be checked if an equivalent item is already contained in the buffer. |
| const ABA_SEPARATOR<BaseType, CoType>& ABA_SEPARATOR< BaseType, CoType >::operator= | ( | const ABA_SEPARATOR< BaseType, CoType > & | rhs | ) | [private] |
ABA_MASTER* ABA_SEPARATOR< BaseType, CoType >::master_ [protected] |
Definition at line 173 of file separator.h.
ABA_LPSOLUTION<CoType, BaseType>* ABA_SEPARATOR< BaseType, CoType >::lpSol_ [protected] |
Definition at line 174 of file separator.h.
double ABA_SEPARATOR< BaseType, CoType >::minAbsViolation_ [private] |
Definition at line 176 of file separator.h.
ABA_BUFFER<BaseType*> ABA_SEPARATOR< BaseType, CoType >::newCons_ [private] |
Definition at line 177 of file separator.h.
ABA_HASH<unsigned, BaseType*>* ABA_SEPARATOR< BaseType, CoType >::hash_ [private] |
Definition at line 178 of file separator.h.
int ABA_SEPARATOR< BaseType, CoType >::nDuplications_ [private] |
Definition at line 179 of file separator.h.
bool ABA_SEPARATOR< BaseType, CoType >::sendConstraints_ [private] |
Definition at line 180 of file separator.h.
ABA_NONDUPLPOOL<BaseType, CoType>* ABA_SEPARATOR< BaseType, CoType >::pool_ [private] |
Definition at line 181 of file separator.h.
1.5.1