class BbParaNodePool More...
#include <bbParaNodePool.h>
Public Member Functions | |
| BbParaNodePool (double inBgap) | |
| constructor More... | |
| virtual | ~BbParaNodePool () |
| destructor More... | |
| virtual void | insert (BbParaNodePtr node)=0 |
| insert BbParaNode to this pool More... | |
| virtual bool | isEmpty ()=0 |
| check if this pool is empty or not More... | |
| virtual BbParaNodePtr | extractNode ()=0 |
| extract a BbParaNode object from this pool More... | |
| virtual BbParaNodePtr | extractWorstNode ()=0 |
| extract a BbParaNode object with the lowest priority from this pool More... | |
| virtual BbParaNodePtr | extractNodeRandomly ()=0 |
| extract a BbParaNode object randomly from this pool More... | |
| virtual double | getBestDualBoundValue ()=0 |
| get best dual bound value of BbParaNode object in this pool More... | |
| virtual unsigned int | getNumOfGoodNodes (double globalBestBound)=0 |
| get number of good (heavy) BbParaNodes in this pool More... | |
| virtual size_t | getNumOfNodes ()=0 |
| get number of BbParaNodes in this pool More... | |
| virtual int | removeBoundedNodes (double incumbentValue)=0 |
| remove bounded BbParaNodes by given incumbnet value More... | |
| virtual void | updateDualBoundsForSavingNodes ()=0 |
| update dual bound values for saving BbParaNodes to checkpoint file More... | |
| virtual int | writeBbParaNodesToCheckpointFile (gzstream::ogzstream &out)=0 |
| write BbParaNodes to checkpoint file More... | |
| virtual int | removeMergedNodes (BbParaMergedNodeListElement *head)=0 |
| remove merged BbParaNodes from this pool More... | |
| virtual const std::string | toString ()=0 |
| stringfy this object More... | |
| size_t | getMaxUsageOfPool () |
| get maximum usage of this pool More... | |
Protected Attributes | |
| double | bgap |
| gap which can be considered as good More... | |
| size_t | maxUsageOfPool |
| maximum usage of this pool More... | |
class BbParaNodePool
Definition at line 108 of file bbParaNodePool.h.
| BbParaNodePool | ( | double | inBgap | ) |
constructor
| inBgap | gap which can be considered as good |
Definition at line 121 of file bbParaNodePool.h.
|
virtual |
destructor
Definition at line 132 of file bbParaNodePool.h.
|
pure virtual |
extract a BbParaNode object from this pool
Implemented in BbParaNodePoolForMinimization, and BbParaNodePoolForCleanUp.
Referenced by BbParaLoadCoordinator::newRacing(), BbParaLoadCoordinator::processTagAnotherNodeRequest(), BbParaSolver::processTagInCollectingMode(), BbParaSolver::processTagInterruptRequest(), BbParaLoadCoordinator::restartInRampDownPhase(), BbParaLoadCoordinator::run(), BbParaSolver::run(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), BbParaLoadCoordinator::updateCheckpointFiles(), BbParaLoadCoordinator::warmStart(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
pure virtual |
extract a BbParaNode object randomly from this pool
Implemented in BbParaNodePoolForMinimization, and BbParaNodePoolForCleanUp.
Referenced by BbParaLoadCoordinator::sendParaTasksToIdleSolvers().
|
pure virtual |
extract a BbParaNode object with the lowest priority from this pool
Implemented in BbParaNodePoolForMinimization, and BbParaNodePoolForCleanUp.
|
pure virtual |
get best dual bound value of BbParaNode object in this pool
Implemented in BbParaNodePoolForMinimization, and BbParaNodePoolForCleanUp.
Referenced by BbParaLoadCoordinator::outputTabularSolvingStatus(), BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::processTagAnotherNodeRequest(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagTask(), BbParaLoadCoordinator::run(), BbParaSolver::sendCompletionOfCalculation(), BbParaSolver::sendCompletionOfCalculationWithoutSolving(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), BbParaSolver::sendSolverState(), BbParaLoadCoordinator::updateCheckpointFiles(), BbParaLoadCoordinator::warmStart(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
| size_t getMaxUsageOfPool | ( | ) |
get maximum usage of this pool
Definition at line 239 of file bbParaNodePool.h.
References BbParaNodePool::maxUsageOfPool.
Referenced by BbParaLoadCoordinator::writeLoadCoordinatorStatisticsToCheckpointFile(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
pure virtual |
get number of good (heavy) BbParaNodes in this pool
| globalBestBound | global best bound value to evaluate goodness |
Implemented in BbParaNodePoolForMinimization, and BbParaNodePoolForCleanUp.
Referenced by BbParaLoadCoordinator::processTagAnotherNodeRequest(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagTask(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), BbParaSolverPoolForMinimization::switchInCollectingMode(), BbParaSolverPool::switchInCollectingToSolver(), BbParaSolverPoolForMinimization::updateSolverStatus(), and BbParaLoadCoordinator::warmStart().
|
pure virtual |
get number of BbParaNodes in this pool
Implemented in BbParaNodePoolForMinimization, and BbParaNodePoolForCleanUp.
Referenced by BbParaSolver::getSelfSplitNodesLeft(), BbParaLoadCoordinator::newRacing(), BbParaLoadCoordinator::outputTabularSolvingStatus(), BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaSolver::processTagInCollectingMode(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagTask(), BbParaLoadCoordinator::run(), BbParaSolver::run(), BbParaSolver::sendSolverState(), BbParaLoadCoordinator::updateCheckpointFiles(), BbParaLoadCoordinator::warmStart(), BbParaLoadCoordinator::writeLoadCoordinatorStatisticsToCheckpointFile(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
pure virtual |
insert BbParaNode to this pool
| node | pointer to BbParaNode object |
Implemented in BbParaNodePoolForMinimization, and BbParaNodePoolForCleanUp.
Referenced by BbParaSolver::keepParaNode(), BbParaLoadCoordinator::processTagAnotherNodeRequest(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagReassignSelfSplitSubtreeRootNode(), BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagTask(), BbParaLoadCoordinator::restartInRampDownPhase(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), BbParaLoadCoordinator::updateCheckpointFiles(), BbParaLoadCoordinator::warmStart(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
pure virtual |
check if this pool is empty or not
Implemented in BbParaNodePoolForMinimization, and BbParaNodePoolForCleanUp.
Referenced by BbParaLoadCoordinator::inactivateRacingSolverPool(), BbParaLoadCoordinator::newRacing(), BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagAnotherNodeRequest(), BbParaSolver::processTagInCollectingMode(), BbParaSolver::processTagInterruptRequest(), BbParaLoadCoordinator::processTagSelfSplitTermStateForInterruption(), BbParaLoadCoordinator::processTagTask(), BbParaLoadCoordinator::processTagTermStateForInterruption(), BbParaLoadCoordinator::restartInRampDownPhase(), BbParaLoadCoordinator::run(), BbParaSolver::run(), BbParaSolver::sendAnotherNodeRequest(), BbParaSolver::sendCompletionOfCalculation(), BbParaSolver::sendCompletionOfCalculationWithoutSolving(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), BbParaSolver::sendSolverState(), BbParaSolverPoolForMinimization::switchInCollectingMode(), BbParaSolverPool::switchInCollectingToSolver(), BbParaSolverPoolForMinimization::updateSolverStatus(), BbParaLoadCoordinator::warmStart(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
pure virtual |
remove bounded BbParaNodes by given incumbnet value
| incumbentValue | incumbent value |
Implemented in BbParaNodePoolForMinimization, and BbParaNodePoolForCleanUp.
Referenced by BbParaLoadCoordinator::sendCutOffValue(), and BbParaLoadCoordinator::sendIncumbentValue().
|
pure virtual |
remove merged BbParaNodes from this pool
| head | head of Merged BbParaNodes list |
Implemented in BbParaNodePoolForMinimization, and BbParaNodePoolForCleanUp.
Referenced by BbParaNodesMerger::mergeNodes().
|
pure virtual |
stringfy this object
Implemented in BbParaNodePoolForMinimization, and BbParaNodePoolForCleanUp.
|
pure virtual |
update dual bound values for saving BbParaNodes to checkpoint file
Implemented in BbParaNodePoolForMinimization, and BbParaNodePoolForCleanUp.
Referenced by BbParaLoadCoordinator::updateCheckpointFiles().
|
pure virtual |
write BbParaNodes to checkpoint file
| out | gzstream for output |
Implemented in BbParaNodePoolForMinimization, and BbParaNodePoolForCleanUp.
Referenced by BbParaLoadCoordinator::updateCheckpointFiles().
|
protected |
gap which can be considered as good
Definition at line 113 of file bbParaNodePool.h.
Referenced by BbParaNodePoolForMinimization::getNumOfGoodNodes(), and BbParaNodePoolForCleanUp::getNumOfGoodNodes().
|
protected |
maximum usage of this pool
Definition at line 114 of file bbParaNodePool.h.
Referenced by BbParaNodePool::getMaxUsageOfPool(), BbParaNodePoolForMinimization::insert(), and BbParaNodePoolForCleanUp::insert().