45BbParaSolverTerminationState::toString(
49 std::ostringstream os;
54 os <<
"######### Solver Rank = " <<
rank <<
" is terminated. #########" << std::endl;
59 os <<
"######### Solver Rank = " <<
rank <<
" is interrupted. #########" << std::endl;
64 os <<
"######### Solver Rank = " <<
rank <<
" is at checkpoint. #########" << std::endl;
69 os <<
"######### Solver Rank = " <<
rank <<
" is at the end of racing process. #########" << std::endl;
78 os <<
"#=== Elapsed time to terminate this Solver = " <<
runningTime << std::endl;
95 os <<
"#=== Total root node process time = 0.0 ( Mean = 0.0, Min = 0.0, Max = 0.0 )" << std::endl;
97 os <<
"#=== The number of ParaNodes received in this solver = " <<
nParaTasksReceived << std::endl;
98 os <<
"#=== The number of ParaNodes sent from this solver = " <<
totalNSent << std::endl;
101 os <<
"#=== The number of nodes solved in this solver = " <<
totalNSolved
103 os <<
"#=== Total number of restarts in this solver = " <<
nTotalRestarts
114 os <<
", Min = 0, Max = 0 )" << std::endl;
124 os <<
", Min = 0, Max = 0 )" << std::endl;
129 os <<
"#=== The number of nodes solved in this solver = 0 ( / Subtree : Mean = 0, Min = 0, Max = 0 )" << std::endl;
131 os <<
"#=== The number of ParaNodes solved in this solver = " <<
nParaTasksSolved << std::endl;
132 os <<
"#=== ( Solved at root node = " <<
nParaNodesSolvedAtRoot <<
", Solved at pre-checking of root node solvability = "
135 os <<
"#=== The number of tightened variable bounds in this solver = " <<
nTightened <<
" ( Int: " <<
nTightenedInt <<
" )" << std::endl;
142 gzstream::ogzstream &out
146 out.write((
char *)&
rank,
sizeof(
int));
171 gzstream::igzstream &in
175 if( in.eof() )
return false;
176 in.read((
char *)&
rank,
sizeof(
int));
This class contains solver termination state which is transferred form Solver to LC.
bool read(ParaComm *comm, gzstream::igzstream &in)
read BbParaSolverTerminationState from checkpoint file
int minNSolved
minimum number of subtree nodes rooted from ParaNode
int maxNSolved
maximum number of subtree nodes rooted from ParaNode
int nTransferredLocalCutsFromSolver
number of local cuts transferred from this Solver
int nTightened
number of tightened variable bounds during racing stage
int maxRestarts
maximum number of restarts
int totalNSolved
accumulated number of nodes solved in this ParaSolver
int nParaNodesSolvedAtRoot
number of ParaNodes solved at root node before sending
double maxRootNodeTime
maximum time consumed by root node processes
int totalNSent
accumulated number of nodes sent from this ParaSolver
int minRestarts
minimum number of restarts
void write(gzstream::ogzstream &out)
write BbParaSolverTerminationState to checkpoint file
int nTightenedInt
number of tightened integral variable bounds during racing stage
int nTransferredBendersCutsFromSolver
number of benders cuts transferred from this Solver
double minRootNodeTime
minimum time consumed by root node processes
int minTransferredLocalCutsFromSolver
minimum number of local cuts transferred from this Solver
int minTransferredBendersCutsFromSolver
minimum number of benders cuts transferred from this Solver
int nParaNodesSolvedAtPreCheck
number of ParaNodes solved at pre-checking of root node solvability
int maxTransferredBendersCutsFromSolver
maximum number of benders cuts transferred from this Solver
int maxTransferredLocalCutsFromSolver
maximum number of local cuts transferred from this Solver
double totalRootNodeTime
total time consumed by root node processes
int totalNImprovedIncumbent
accumulated number of improvements of incumbent value in this ParaSolver
int nTotalRestarts
number of total restarts
Base class of communicator object.
double idleTimeToWaitNotificationId
idle time to wait notification Id messages
double runningTime
this solver running time
int nParaTasksReceived
number of ParaTasks received in this ParaSolver
double idleTimeBetweenParaTasks
idle time between ParaTasks processing
int interrupted
indicate that this solver is interrupted or not. 0: not interrupted, 1: interrupted,...
double idleTimeToWaitToken
double idleTimeToWaitAckCompletion
idle time to wait ack completion message
double idleTimeAfterLastParaTask
idle time after the last ParaTask was solved
double idleTimeToFirstParaTask
idle time to start solving the first ParaTask
static ScipParaCommTh * comm
Base class of communicator for UG Framework.
Defines for UG Framework.
#define THROW_LOGICAL_ERROR1(msg1)