Scippy

UG

Ubiquity Generator framework

BbParaCalculationState Class Reference

Base class of Calculation state in a ParaSolver. More...

#include <bbParaCalculationState.h>

Inheritance diagram for BbParaCalculationState:
ParaCalculationState BbParaCalculationStateMpi BbParaCalculationStateTh

Public Member Functions

 BbParaCalculationState ()
 Default Constructor. More...
 
 BbParaCalculationState (double inCompTime, double inRootTime, int inNSolved, int inNSent, int inNImprovedIncumbent, int inTerminationState, int inNSolvedWithNoPreprocesses, int inNSimplexIterRoot, double inAverageSimplexIter, int inNTransferredLocalCuts, int inMinTransferredLocalCuts, int inMaxTransferredLocalCuts, int inNTransferredBendersCuts, int inMinTransferredBendersCuts, int inMaxTransferredBendersCuts, int inNRestarts, double inMinIisum, double inMaxIisum, int inMinNii, int inMaxNii, double inDualBound, int inNSelfSplitNodesLeft)
 Constructor. More...
 
virtual ~BbParaCalculationState ()
 Destructor. More...
 
double getRootTime ()
 getter of root node computing time More...
 
int getNRestarts ()
 getter of the number of restart occurred in solving a subproblem More...
 
double getAverageNodeCompTimeExcpetRoot ()
 getter of average computing time of a node except root node More...
 
int getNSent ()
 getter of the number of nodes transferred from the subproblem solving More...
 
int getNImprovedIncumbent ()
 getter of the number of improved incumbents during solving the subproblem More...
 
int getTerminationState ()
 getter of the termination state for solving the subproblem More...
 
int getNSolvedWithNoPreprocesses ()
 getter of the number of solved nodes in the case that a node is solved without presolving. This is an experimental routine only used for SCIP parallelization More...
 
double getDualBoundValue ()
 getter of the final dual bound value More...
 
double getNSelfSplitNodesLeft ()
 getter of the number of self-split nodes left More...
 
std::string toString ()
 stringfy BbParaCalculationState More...
 
std::string toSimpleString ()
 stringfy BbParaCalculationState (simple string version) More...
 
- Public Member Functions inherited from ParaCalculationState
 ParaCalculationState ()
 Default Constructor. More...
 
 ParaCalculationState (double inCompTime, int inNSolved, int inTerminationState)
 Constructor. More...
 
virtual ~ParaCalculationState ()
 Destructor. More...
 
double getCompTime ()
 getter of computing time of a subproblem More...
 
int getNSolved ()
 geeter of the number of tasks solved in a subproblem More...
 
int getTerminationState ()
 getter of the termination state for solving the subproblem More...
 
virtual std::string toString ()=0
 stringfy ParaCalculationState More...
 
virtual std::string toSimpleString ()=0
 stringfy ParaCalculationState (simple string version) More...
 
virtual void send (ParaComm *comm, int destination, int tag)=0
 send this object to destination More...
 
virtual void receive (ParaComm *comm, int source, int tag)=0
 send this object to destination More...
 

Protected Attributes

double rootTime
 computation time of the root node More...
 
int nSent
 the number of ParaNodes sent More...
 
int nImprovedIncumbent
 the number of improved solution generated in this ParaSolver More...
 
int nSolvedWithNoPreprocesses
 number of nodes solved when it is solved with no preprocesses More...
 
int nSimplexIterRoot
 number of simplex iteration at root node More...
 
double averageSimplexIter
 average number of simplex iteration except root node More...
 
int nTransferredLocalCuts
 number of local cuts transferred from a ParaNode More...
 
int minTransferredLocalCuts
 minimum number of local cuts transferred from a ParaNode More...
 
int maxTransferredLocalCuts
 maximum number of local cuts transferred from a ParaNode More...
 
int nTransferredBendersCuts
 number of benders cuts transferred from a ParaNode More...
 
int minTransferredBendersCuts
 minimum number of benders cuts transferred from a ParaNode More...
 
int maxTransferredBendersCuts
 maximum number of benders cuts transferred from a ParaNode More...
 
int nRestarts
 number of restarts More...
 
double minIisum
 minimum sum of integer infeasibility More...
 
double maxIisum
 maximum sum of integer infeasibility More...
 
int minNii
 minimum number of integer infeasibility More...
 
int maxNii
 maximum number of integer infeasibility More...
 
double dualBound
 final dual bound value More...
 
int nSelfSplitNodesLeft
 number of self-split nodes left More...
 
- Protected Attributes inherited from ParaCalculationState
double compTime
 computation time of this ParaTask More...
 
int nSolved
 the number of tasks solved More...
 
int terminationState
 indicate whether if this computation is terminationState or not. 0: no, 1: terminationState meaning can be defined in derived class More...
 

Detailed Description

Base class of Calculation state in a ParaSolver.

Definition at line 52 of file bbParaCalculationState.h.

Constructor & Destructor Documentation

◆ BbParaCalculationState() [1/2]

Default Constructor.

Definition at line 79 of file bbParaCalculationState.h.

◆ BbParaCalculationState() [2/2]

BbParaCalculationState ( double  inCompTime,
double  inRootTime,
int  inNSolved,
int  inNSent,
int  inNImprovedIncumbent,
int  inTerminationState,
int  inNSolvedWithNoPreprocesses,
int  inNSimplexIterRoot,
double  inAverageSimplexIter,
int  inNTransferredLocalCuts,
int  inMinTransferredLocalCuts,
int  inMaxTransferredLocalCuts,
int  inNTransferredBendersCuts,
int  inMinTransferredBendersCuts,
int  inMaxTransferredBendersCuts,
int  inNRestarts,
double  inMinIisum,
double  inMaxIisum,
int  inMinNii,
int  inMaxNii,
double  inDualBound,
int  inNSelfSplitNodesLeft 
)

Constructor.

Parameters
inCompTimecomputation time of this ParaNode
inRootTimecomputation time of the root node
inNSolvedthe number of nodes solved
inNSentthe number of ParaNodes sent
inNImprovedIncumbentthe number of improved solution generated in this ParaSolver
inTerminationStateindicate whether if this computation is terminationState or not. 0: no, 1: terminationState
inNSolvedWithNoPreprocessesnumber of nodes solved when it is solved with no preprocesses
inNSimplexIterRootnumber of simplex iteration at root node
inAverageSimplexIteraverage number of simplex iteration except root node
inNTransferredLocalCutsnumber of local cuts transferred from a ParaNode
inMinTransferredLocalCutsminimum number of local cuts transferred from a ParaNode
inMaxTransferredLocalCutsmaximum number of local cuts transferred from a ParaNode
inNTransferredBendersCutsnumber of benders cuts transferred from a ParaNode
inMinTransferredBendersCutsminimum number of benders cuts transferred from a ParaNode
inMaxTransferredBendersCutsmaximum number of benders cuts transferred from a ParaNode
inNRestartsnumber of restarts
inMinIisumminimum sum of integer infeasibility
inMaxIisummaximum sum of integer infeasibility
inMinNiiminimum number of integer infeasibility
inMaxNiimaximum number of integer infeasibility
inDualBoundfinal dual Bound value
inNSelfSplitNodesLeftnumber of self-split nodes left

Definition at line 107 of file bbParaCalculationState.h.

◆ ~BbParaCalculationState()

virtual ~BbParaCalculationState ( )
virtual

Destructor.

Definition at line 158 of file bbParaCalculationState.h.

Member Function Documentation

◆ getAverageNodeCompTimeExcpetRoot()

double getAverageNodeCompTimeExcpetRoot ( )

◆ getDualBoundValue()

double getDualBoundValue ( )

◆ getNImprovedIncumbent()

int getNImprovedIncumbent ( )

getter of the number of improved incumbents during solving the subproblem

Returns
the number of the improved incumbents

Definition at line 214 of file bbParaCalculationState.h.

References BbParaCalculationState::nImprovedIncumbent.

◆ getNRestarts()

int getNRestarts ( )

◆ getNSelfSplitNodesLeft()

double getNSelfSplitNodesLeft ( )

getter of the number of self-split nodes left

Returns
the number of self-split nodes left

Definition at line 255 of file bbParaCalculationState.h.

References BbParaCalculationState::nSelfSplitNodesLeft.

Referenced by BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState().

◆ getNSent()

int getNSent ( )

getter of the number of nodes transferred from the subproblem solving

Returns
the number of nodes sent

Definition at line 204 of file bbParaCalculationState.h.

References BbParaCalculationState::nSent.

Referenced by BbParaLoadCoordinator::processTagCompletionOfCalculation(), and BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState().

◆ getNSolvedWithNoPreprocesses()

int getNSolvedWithNoPreprocesses ( )

getter of the number of solved nodes in the case that a node is solved without presolving. This is an experimental routine only used for SCIP parallelization

Returns
the number of solved node without presolving

Definition at line 235 of file bbParaCalculationState.h.

References BbParaCalculationState::nSolvedWithNoPreprocesses.

Referenced by BbParaLoadCoordinator::processTagCompletionOfCalculation().

◆ getRootTime()

◆ getTerminationState()

int getTerminationState ( )

◆ toSimpleString()

◆ toString()

Member Data Documentation

◆ averageSimplexIter

double averageSimplexIter
protected

◆ dualBound

◆ maxIisum

◆ maxNii

◆ maxTransferredBendersCuts

int maxTransferredBendersCuts
protected

maximum number of benders cuts transferred from a ParaNode

Definition at line 66 of file bbParaCalculationState.h.

Referenced by BbParaCalculationStateMpi::createDatatype(), BbParaCalculationStateTh::createDatatype(), and BbParaCalculationStateTh::receive().

◆ maxTransferredLocalCuts

int maxTransferredLocalCuts
protected

maximum number of local cuts transferred from a ParaNode

Definition at line 63 of file bbParaCalculationState.h.

Referenced by BbParaCalculationStateMpi::createDatatype(), BbParaCalculationStateTh::createDatatype(), and BbParaCalculationStateTh::receive().

◆ minIisum

◆ minNii

◆ minTransferredBendersCuts

int minTransferredBendersCuts
protected

minimum number of benders cuts transferred from a ParaNode

Definition at line 65 of file bbParaCalculationState.h.

Referenced by BbParaCalculationStateMpi::createDatatype(), BbParaCalculationStateTh::createDatatype(), and BbParaCalculationStateTh::receive().

◆ minTransferredLocalCuts

int minTransferredLocalCuts
protected

minimum number of local cuts transferred from a ParaNode

Definition at line 62 of file bbParaCalculationState.h.

Referenced by BbParaCalculationStateMpi::createDatatype(), BbParaCalculationStateTh::createDatatype(), and BbParaCalculationStateTh::receive().

◆ nImprovedIncumbent

◆ nRestarts

◆ nSelfSplitNodesLeft

◆ nSent

◆ nSimplexIterRoot

int nSimplexIterRoot
protected

◆ nSolvedWithNoPreprocesses

int nSolvedWithNoPreprocesses
protected

◆ nTransferredBendersCuts

int nTransferredBendersCuts
protected

number of benders cuts transferred from a ParaNode

Definition at line 64 of file bbParaCalculationState.h.

Referenced by BbParaCalculationStateMpi::createDatatype(), BbParaCalculationStateTh::createDatatype(), and BbParaCalculationStateTh::receive().

◆ nTransferredLocalCuts

int nTransferredLocalCuts
protected

number of local cuts transferred from a ParaNode

Definition at line 61 of file bbParaCalculationState.h.

Referenced by BbParaCalculationStateMpi::createDatatype(), BbParaCalculationStateTh::createDatatype(), and BbParaCalculationStateTh::receive().

◆ rootTime