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.