37 #ifndef __BB_PARA_CALCULATION_STATE_H__ 38 #define __BB_PARA_CALCULATION_STATE_H__ 84 nImprovedIncumbent(-1),
85 nSolvedWithNoPreprocesses(-1),
87 averageSimplexIter(0.0),
88 nTransferredLocalCuts(0),
89 minTransferredLocalCuts(INT_MAX),
90 maxTransferredLocalCuts(INT_MIN),
91 nTransferredBendersCuts(0),
92 minTransferredBendersCuts(INT_MAX),
93 maxTransferredBendersCuts(INT_MIN),
100 nSelfSplitNodesLeft(0)
112 int inNImprovedIncumbent,
113 int inTerminationState,
114 int inNSolvedWithNoPreprocesses,
115 int inNSimplexIterRoot,
116 double inAverageSimplexIter,
117 int inNTransferredLocalCuts,
118 int inMinTransferredLocalCuts,
119 int inMaxTransferredLocalCuts,
120 int inNTransferredBendersCuts,
121 int inMinTransferredBendersCuts,
122 int inMaxTransferredBendersCuts,
129 int inNSelfSplitNodesLeft
132 rootTime(inRootTime),
134 nImprovedIncumbent(inNImprovedIncumbent),
135 nSolvedWithNoPreprocesses(inNSolvedWithNoPreprocesses),
136 nSimplexIterRoot(inNSimplexIterRoot),
137 averageSimplexIter(inAverageSimplexIter),
138 nTransferredLocalCuts(inNTransferredLocalCuts),
139 minTransferredLocalCuts(inMaxTransferredLocalCuts),
140 maxTransferredLocalCuts(inMaxTransferredLocalCuts),
141 nTransferredBendersCuts(inNTransferredBendersCuts),
142 minTransferredBendersCuts(inMaxTransferredBendersCuts),
143 maxTransferredBendersCuts(inMaxTransferredBendersCuts),
144 nRestarts(inNRestarts),
145 minIisum(inMinIisum),
146 maxIisum(inMaxIisum),
149 dualBound(inDualBound),
150 nSelfSplitNodesLeft(inNSelfSplitNodesLeft)
268 std::ostringstream s;
271 s <<
"Termination state of this computation was " <<
terminationState <<
" : [ " 273 <<
nSolved <<
" nodes were solved, " 274 << nSent <<
" nodes were sent, " 275 << nImprovedIncumbent <<
" improved solutions were found";
279 s <<
"Computation was normally terminated: [ " 281 <<
nSolved <<
" nodes were solved, " 282 << nSent <<
" nodes were sent, " 283 << nImprovedIncumbent <<
" improved solutions were found";
295 std::ostringstream s;
305 << nImprovedIncumbent
309 << averageSimplexIter
338 #endif // __BB_PARA_CALCULATION_STATE_H__ Base class for calculation state.
double averageSimplexIter
average number of simplex iteration except root node
int nTransferredLocalCuts
number of local cuts transferred from a ParaNode
int nSolvedWithNoPreprocesses
number of nodes solved when it is solved with no preprocesses
int minTransferredBendersCuts
minimum number of benders cuts transferred from a ParaNode
Base class of Calculation state in a ParaSolver.
double maxIisum
maximum sum of integer infeasibility
int nSimplexIterRoot
number of simplex iteration at root node
Base class of Calculation state in a ParaSolver.
double getNSelfSplitNodesLeft()
getter of the number of self-split nodes left
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.
int getTerminationState()
getter of the termination state for solving the subproblem
double minIisum
minimum sum of integer infeasibility
double compTime
computation time of this ParaTask
double getDualBoundValue()
getter of the final dual bound value
int nSolved
the number of tasks solved
std::string toString()
stringfy BbParaCalculationState
int minTransferredLocalCuts
minimum number of local cuts transferred from a ParaNode
virtual ~BbParaCalculationState()
Destructor.
int minNii
minimum number of integer infeasibility
int getNSent()
getter of the number of nodes transferred from the subproblem solving
double getRootTime()
getter of root node computing time
int nRestarts
number of restarts
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
int getNImprovedIncumbent()
getter of the number of improved incumbents during solving the subproblem
int terminationState
indicate whether if this computation is terminationState or not. 0: no, 1: terminationState meaning c...
int maxTransferredLocalCuts
maximum number of local cuts transferred from a ParaNode
std::string toSimpleString()
stringfy BbParaCalculationState (simple string version)
double getAverageNodeCompTimeExcpetRoot()
getter of average computing time of a node except root node
double rootTime
computation time of the root node
Base class of communicator for UG Framework.
int getNRestarts()
getter of the number of restart occurred in solving a subproblem
int nSent
the number of ParaNodes sent
double dualBound
final dual bound value
int nImprovedIncumbent
the number of improved solution generated in this ParaSolver
int nSelfSplitNodesLeft
number of self-split nodes left
int maxNii
maximum number of integer infeasibility
BbParaCalculationState()
Default Constructor.
int nTransferredBendersCuts
number of benders cuts transferred from a ParaNode
int maxTransferredBendersCuts
maximum number of benders cuts transferred from a ParaNode