37#ifndef __SCIP_PARA_COMM_MPI_H__ 
   38#define __SCIP_PARA_COMM_MPI_H__ 
   49#include "ugs/ugsParaCommMpi.h" 
   93   void setUgsComm( UGS::UgsParaCommMpi *inCommUgs )
 
  101   void init(
int argc, 
char **argv)
 
  161            SCIP_VAR **newBranchVars,
 
  162            SCIP_Real *newBranchBounds,
 
  163            SCIP_BOUNDTYPE *newBoundTypes,
 
  165            SCIP_CONS **addedConss
 
  171            int inNVarBranchStatsDown,
 
  172            int inNVarBranchStatsUp,
 
  173            int *inIdxLBranchStatsVarsDown,
 
  174            int *inNVarBranchingDown,
 
  175            int *inIdxLBranchStatsVarsUp,
 
  176            int *inNVarBranchingUp,
 
  177            SCIP_Real *inDownpscost,
 
  178            SCIP_Real *inDownvsids,
 
  179            SCIP_Real *inDownconflen,
 
  180            SCIP_Real *inDowninfer,
 
  181            SCIP_Real *inDowncutoff,
 
  182            SCIP_Real *inUppscost,
 
  183            SCIP_Real *inUpvsids,
 
  184            SCIP_Real *inUpconflen,
 
  185            SCIP_Real *inUpinfer,
 
  186            SCIP_Real *inUpcutoff
 
  189         int inTerminationCriteria,
 
  192         int inScipRacingParamSeed,
 
  193         int inPermuteProbSeed,
 
  194         int inGenerateBranchOrderSeed,
 
  201#define DEF_SCIP_PARA_COMM( scip_para_comm, comm ) ScipParaCommMpi *scip_para_comm = dynamic_cast< ScipParaCommMpi* >(comm) 
ParaComm extension for MPI communication.
 
ScipParaInitialStat * createScipParaInitialStat(SCIP *scip)
 
void unlockInterruptMsg()
unlock interrupt message monitor to synchronize with the monitor thread
 
UG::ParaDiffSubproblem * createParaDiffSubproblem()
 
std::mutex interruptMsgMonitorLockMutex
mutex for interrupt message monitor
 
UG::ParaRacingRampUpParamSet * createParaRacingRampUpParamSet()
 
bool tagStringTableIsSetUpCoorectly()
check if tag string table (for debugging) set up correctly
 
ScipParaDiffSubproblem * createScipParaDiffSubproblem(SCIP *scip, ScipParaSolver *scipParaSolver, int nNewBranchVars, SCIP_VAR **newBranchVars, SCIP_Real *newBranchBounds, SCIP_BOUNDTYPE *newBoundTypes, int nAddedConss, SCIP_CONS **addedConss)
 
ScipParaSolution * createScipParaSolution(ScipParaSolver *solver, SCIP_Real objval, int inNvars, SCIP_VAR **vars, SCIP_Real *vals)
 
ScipParaInstance * createScipParaInstance(SCIP *scip, int method)
 
const char * getTagString(int tag)
get Tag string for debugging
 
UG::ParaInstance * createParaInstance()
 
static const char * tagStringTable[]
tag name string table
 
void lockInterruptMsg()
lock interrupt message monitor to synchronize with the monitor thread
 
void init(int argc, char **argv)
 
UG::ParaInitialStat * createParaInitialStat()
 
UG::ParaSolution * createParaSolution()
 
ScipParaRacingRampUpParamSet * createScipParaRacingRampUpParamSet(int inTerminationCriteria, int inNNodesLeft, double inTimeLimit, int inScipRacingParamSeed, int inPermuteProbSeed, int inGenerateBranchOrderSeed, ScipDiffParamSet *inScipDiffParamSet)
 
ScipDiffParamSet * createScipDiffParamSet()
 
UG::ParaParamSet * createParaParamSet()
 
Communicator object for MPI communications.
 
MPI_Comm myComm
MPI communicator.
 
int myRank
rank of this process
 
ParaCommMpi()
default constructor of ParaCommMpi
 
int myCommSize
communicator size : number of processes joined in this system
 
virtual void init(int argc, char **argv)
initializer of this communicator
 
Class for the difference between instance and subproblem.
 
class for initial statistics collecting after racing
 
class ParaRacingRampUpParamSet (parameter set for racing ramp-up)
 
#define MPI_CALL(mpicall)
 
SCIP parameter set to be transferred ( Only keep difference between default settings ).
 
ScipParaDiffSubproblem extension for MPI communication.
 
ScipParaInitialStat extension for MPI communication.
 
ScipParaInstance extension for MPI communication.
 
ParaInstance extenstion for SCIP solver.
 
ScipParaRacingRampUpParamSet extension for MPI communication.
 
ScipParaSolution extension for MPI communication.