37#ifndef __BB_PARA_COMM_MPI_H__ 
   38#define __BB_PARA_COMM_MPI_H__ 
   67#include "ugs/ugsParaCommMpi.h" 
   89   UGS::UgsParaCommMpi *commUgs;                         
 
  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) 
CalcutationStte object extension for MPI communication.
 
BbParaNode extension for MIP communication.
 
BbParaSolverState extension for MPI communication.
 
BbParaSolverTerminationState extension for MIP communication.
 
Communicator object for MPI communications.
 
virtual ParaCalculationState * createParaCalculationState()
create ParaCalculationState object by default constructor
 
virtual ParaSolverState * createParaSolverState()
create ParaSolverState object by default constructor
 
virtual ParaTask * createParaTask()
create ParaNode object by default constructor
 
static MPI_Datatype datatypes[TYPE_LIST_SIZE]
data type mapping table to MPI data type
 
virtual bool tagStringTableIsSetUpCoorectly()
check if tag string table (for debugging) set up correctly
 
virtual ParaSolverTerminationState * createParaSolverTerminationState()
create ParaSolverTerminationState object by default constructor
 
virtual ParaRacingRampUpParamSet * createParaRacingRampUpParamSet()
create ParaRacingRampUpParamSet object by default constructor
 
virtual ParaTask * createParaNode(TaskId inNodeId, TaskId inGeneratorNodeId, int inDepth, double inDualBoundValue, double inOriginalDualBoundValue, double inEstimatedValue, ParaDiffSubproblem *inDiffSubproblem)
create ParaNode object
 
virtual const char * getTagString(int tag)
get Tag string for debugging
 
virtual ~BbParaCommMpi()
destructor of this communicator
 
static const char * tagStringTable[]
table for tag name string
 
pthread_mutex_t tokenAccessLock
mutex for pthread thread
 
BbParaCommMpi()
default constructor of ParaCommMpi
 
BbParaCommMpi(MPI_Comm comm)
constructor of ParaCommMpi with MPI communicator
 
Base class of Calculation state in a ParaSolver.
 
Communicator object for MPI communications.
 
int token[2]
index 0: token index 1: token color -1: green > 0: yellow ( termination origin solver number ) -2: re...
 
Class for the difference between instance and subproblem.
 
class ParaRacingRampUpParamSet (parameter set for racing ramp-up)
 
class ParaSolverState (ParaSolver state object for notification message)
 
class ParaSolverTerminationState (Solver termination state in a ParaSolver)
 
static ScipParaCommTh * comm
 
static const int TYPE_LIST_SIZE
 
ParaComm extension for MPI communication.
 
Defines for UG Framework.
 
#define THROW_LOGICAL_ERROR1(msg1)
 
Base class for a container which has difference between instance and subproblem.
 
Base class for instance data.
 
ParaParamSet extension for MPI communication.
 
ParaTimer extension for MPI timer.