37 #ifndef __BB_PARA_COMM_MPI_H__ 38 #define __BB_PARA_COMM_MPI_H__ 67 #include "ugs/ugsParaCommMpi.h" 89 UGS::UgsParaCommMpi *commUgs;
120 pthread_mutex_init(&tokenAccessLock, NULL);
163 int nImprovedIncumbent,
164 int terminationState,
165 int nSolvedWithNoPreprocesses,
166 int nSimplexIterRoot,
167 double averageSimplexIter,
168 int nTransferredLocalCuts,
169 int minTransferredLocalCuts,
170 int maxTransferredLocalCuts,
171 int nTransferredBendersCuts,
172 int minTransferredBendersCuts,
173 int maxTransferredBendersCuts,
180 int nSelfSplitNodesLeft
198 double inDualBoundValue,
199 double inOriginalDualBoundValue,
200 double inEstimatedValue,
217 unsigned int notificationId,
220 long long nodesSolved,
222 double bestDualBoundValue,
223 double globalBestPrimalBoundValue,
225 double averageDualBoundGain
247 int totalNImprovedIncumbent,
248 int nParaNodesReceived,
249 int nParaNodesSolved,
250 int nParaNodesSolvedAtRoot,
251 int nParaNodesSolvedAtPreCheck,
252 int nTransferredLocalCutsFromSolver,
253 int minTransferredLocalCutsFromSolver,
254 int maxTransferredLocalCutsFromSolver,
255 int nTransferredBendersCutsFromSolver,
256 int minTransferredBendersCutsFromSolver,
257 int maxTransferredBendersCutsFromSolver,
263 int calcTerminationState,
265 double idleTimeToFirstParaNode,
266 double idleTimeBetweenParaNodes,
267 double iddleTimeAfterLastParaNode,
268 double idleTimeToWaitNotificationId,
269 double idleTimeToWaitAckCompletion,
270 double idleTimeToWaitToken,
271 double totalRootNodeTime,
272 double minRootNodeTime,
273 double maxRootNodeTime,
289 #define DEF_BB_PARA_COMM( para_comm, comm ) UG::BbParaCommMpi *para_comm = dynamic_cast< UG::BbParaCommMpi* >(comm) 293 #endif // __BB_PARA_COMM_MPI_H__ virtual ParaSolverState * createParaSolverState()
create ParaSolverState object by default constructor
class ParaSolverState (ParaSolver state object for notification message)
static ScipParaCommTh * comm
Base class for a container which has difference between instance and subproblem.
ParaTimer extension for MPI timer.
Base class of Calculation state in a ParaSolver.
Communicator object for MPI communications.
static const int TYPE_LIST_SIZE
virtual const char * getTagString(int tag)
get Tag string for debugging
Defines for UG Framework.
static MPI_Datatype datatypes[TYPE_LIST_SIZE]
data type mapping table to MPI data type
virtual ~BbParaCommMpi()
destructor of this communicator
virtual ParaCalculationState * createParaCalculationState()
create ParaCalculationState object by default constructor
ParaComm extension for MPI communication.
#define THROW_LOGICAL_ERROR1(msg1)
Communicator object for MPI communications.
class ParaSolverTerminationState (Solver termination state in a ParaSolver)
Base class for instance data.
pthread_mutex_t tokenAccessLock
mutex for pthread thread
virtual ParaSolverTerminationState * createParaSolverTerminationState()
create ParaSolverTerminationState object by default constructor
virtual ParaTask * createParaTask()
create ParaNode object by default constructor
Class for the difference between instance and subproblem.
BbParaCommMpi(MPI_Comm comm)
constructor of ParaCommMpi with MPI communicator
int token[2]
index 0: token index 1: token color -1: green > 0: yellow ( termination origin solver number ) -2: re...
virtual ParaRacingRampUpParamSet * createParaRacingRampUpParamSet()
create ParaRacingRampUpParamSet object by default constructor
virtual bool tagStringTableIsSetUpCoorectly()
check if tag string table (for debugging) set up correctly
virtual ParaTask * createParaNode(TaskId inNodeId, TaskId inGeneratorNodeId, int inDepth, double inDualBoundValue, double inOriginalDualBoundValue, double inEstimatedValue, ParaDiffSubproblem *inDiffSubproblem)
create ParaNode object
ParaParamSet extension for MPI communication.
class ParaRacingRampUpParamSet (parameter set for racing ramp-up)
BbParaCommMpi()
default constructor of ParaCommMpi
static const char * tagStringTable[]
table for tag name string