Calculation state object for thread communications. More...
#include <bbParaCalculationStateTh.h>
Public Member Functions | |
BbParaCalculationStateTh () | |
default constructor of this object More... | |
BbParaCalculationStateTh (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 of this object More... | |
~BbParaCalculationStateTh () | |
destructor of this object More... | |
void | send (ParaComm *comm, int destination, int tag) |
send this object to destination More... | |
void | receive (ParaComm *comm, int source, int tag) |
receive this object from source More... | |
Public Member Functions inherited from BbParaCalculationState | |
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... | |
Private Member Functions | |
BbParaCalculationStateTh * | createDatatype () |
create thread object datatype of this object More... | |
Additional Inherited Members | |
Protected Attributes inherited from BbParaCalculationState | |
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... | |
Calculation state object for thread communications.
Definition at line 48 of file bbParaCalculationStateTh.h.
default constructor of this object
Definition at line 63 of file bbParaCalculationStateTh.h.
Referenced by BbParaCalculationStateTh::createDatatype().
BbParaCalculationStateTh | ( | 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 of this object
inCompTime | computation time of this ParaNode |
inRootTime | computation time of the root node |
inNSolved | the number of nodes solved |
inNSent | the number of ParaNodes sent |
inNImprovedIncumbent | the number of improved solution generated in this ParaSolver |
inTerminationState | indicate whether if this computation is terminationState or not. 0: no, 1: terminationState |
inNSolvedWithNoPreprocesses | number of nodes solved when it is solved with no preprocesses |
inNSimplexIterRoot | number of simplex iteration at root node |
inAverageSimplexIter | average number of simplex iteration except root node |
inNTransferredLocalCuts | number of local cuts transferred from a ParaNode |
inMinTransferredLocalCuts | minimum number of local cuts transferred from a ParaNode |
inMaxTransferredLocalCuts | maximum number of local cuts transferred from a ParaNode |
inNTransferredBendersCuts | number of benders cuts transferred from a ParaNode |
inMinTransferredBendersCuts | minimum number of benders cuts transferred from a ParaNode |
inMaxTransferredBendersCuts | maximum number of benders cuts transferred from a ParaNode |
inNRestarts | number of restarts |
inMinIisum | minimum sum of integer infeasibility |
inMaxIisum | maximum sum of integer infeasibility |
inMinNii | minimum number of integer infeasibility |
inMaxNii | maximum number of integer infeasibility |
inDualBound | final dual Bound value |
inNSelfSplitNodesLeft | number of self-split nodes left |
Definition at line 71 of file bbParaCalculationStateTh.h.
destructor of this object
Definition at line 106 of file bbParaCalculationStateTh.h.
|
private |
create thread object datatype of this object
Definition at line 42 of file bbParaCalculationStateTh.cpp.
References BbParaCalculationState::averageSimplexIter, BbParaCalculationStateTh::BbParaCalculationStateTh(), ParaCalculationState::compTime, BbParaCalculationState::dualBound, BbParaCalculationState::maxIisum, BbParaCalculationState::maxNii, BbParaCalculationState::maxTransferredBendersCuts, BbParaCalculationState::maxTransferredLocalCuts, BbParaCalculationState::minIisum, BbParaCalculationState::minNii, BbParaCalculationState::minTransferredBendersCuts, BbParaCalculationState::minTransferredLocalCuts, BbParaCalculationState::nImprovedIncumbent, BbParaCalculationState::nRestarts, BbParaCalculationState::nSelfSplitNodesLeft, BbParaCalculationState::nSent, BbParaCalculationState::nSimplexIterRoot, ParaCalculationState::nSolved, BbParaCalculationState::nSolvedWithNoPreprocesses, BbParaCalculationState::nTransferredBendersCuts, BbParaCalculationState::nTransferredLocalCuts, BbParaCalculationState::rootTime, and ParaCalculationState::terminationState.
Referenced by BbParaCalculationStateTh::send().
|
virtual |
receive this object from source
comm | communicator used to receive this object |
source | source rank to receive this object |
tag | tag to show this object |
Implements ParaCalculationState.
Definition at line 86 of file bbParaCalculationStateTh.cpp.
References BbParaCalculationState::averageSimplexIter, comm, ParaCalculationState::compTime, DEF_PARA_COMM, BbParaCalculationState::dualBound, BbParaCalculationState::maxIisum, BbParaCalculationState::maxNii, BbParaCalculationState::maxTransferredBendersCuts, BbParaCalculationState::maxTransferredLocalCuts, BbParaCalculationState::minIisum, BbParaCalculationState::minNii, BbParaCalculationState::minTransferredBendersCuts, BbParaCalculationState::minTransferredLocalCuts, BbParaCalculationState::nImprovedIncumbent, BbParaCalculationState::nRestarts, BbParaCalculationState::nSelfSplitNodesLeft, BbParaCalculationState::nSent, BbParaCalculationState::nSimplexIterRoot, ParaCalculationState::nSolved, BbParaCalculationState::nSolvedWithNoPreprocesses, BbParaCalculationState::nTransferredBendersCuts, BbParaCalculationState::nTransferredLocalCuts, PARA_COMM_CALL, UG::ParaCalculationStateType, BbParaCalculationState::rootTime, and ParaCalculationState::terminationState.
|
virtual |
send this object to destination
comm | communicator used to send this object |
destination | destination rank to send |
tag | tag to show this object |
Implements ParaCalculationState.
Definition at line 72 of file bbParaCalculationStateTh.cpp.
References comm, BbParaCalculationStateTh::createDatatype(), DEF_PARA_COMM, PARA_COMM_CALL, and UG::ParaCalculationStateType.