37 #ifndef __SCIP_PARA_COMM_MPI_H__ 38 #define __SCIP_PARA_COMM_MPI_H__ 47 #include "scip/scip.h" 49 #include "ugs/ugsParaCommMpi.h" 93 void setUgsComm( UGS::UgsParaCommMpi *inCommUgs )
101 void init(
int argc,
char **argv)
132 interruptMsgMonitorLockMutex.lock();
141 interruptMsgMonitorLockMutex.unlock();
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) 204 #endif // __SCIP_PARA_COMM_MPI_H__
ScipParaInstance extension for MPI communication.
UG::ParaInstance * createParaInstance()
static const char * tagStringTable[]
tag name string table
UG::ParaDiffSubproblem * createParaDiffSubproblem()
ParaInstance extenstion for SCIP solver.
ScipParaInitialStat * createScipParaInitialStat(SCIP *scip)
virtual void init(int argc, char **argv)
initializer of this communicator
ParaCommMpi()
default constructor of ParaCommMpi
const char * getTagString(int tag)
get Tag string for debugging
int myCommSize
communicator size : number of processes joined in this system
void init(int argc, char **argv)
ScipParaInstance * createScipParaInstance(SCIP *scip, int method)
void unlockInterruptMsg()
unlock interrupt message monitor to synchronize with the monitor thread
ScipParaSolution extension for MPI communication.
ScipParaRacingRampUpParamSet * createScipParaRacingRampUpParamSet(int inTerminationCriteria, int inNNodesLeft, double inTimeLimit, int inScipRacingParamSeed, int inPermuteProbSeed, int inGenerateBranchOrderSeed, ScipDiffParamSet *inScipDiffParamSet)
Communicator object for MPI communications.
ScipParaRacingRampUpParamSet extension for MPI communication.
ScipParaSolution * createScipParaSolution(ScipParaSolver *solver, SCIP_Real objval, int inNvars, SCIP_VAR **vars, SCIP_Real *vals)
bool tagStringTableIsSetUpCoorectly()
check if tag string table (for debugging) set up correctly
ScipDiffParamSet * createScipDiffParamSet()
UG::ParaRacingRampUpParamSet * createParaRacingRampUpParamSet()
SCIP parameter set to be transferred ( Only keep difference between default settings )...
MPI_Comm myComm
MPI communicator.
Class for the difference between instance and subproblem.
std::mutex interruptMsgMonitorLockMutex
mutex for interrupt message monitor
ScipParaDiffSubproblem extension for MPI communication.
UG::ParaParamSet * createParaParamSet()
ScipParaInitialStat extension for MPI communication.
ScipParaDiffSubproblem * createScipParaDiffSubproblem(SCIP *scip, ScipParaSolver *scipParaSolver, int nNewBranchVars, SCIP_VAR **newBranchVars, SCIP_Real *newBranchBounds, SCIP_BOUNDTYPE *newBoundTypes, int nAddedConss, SCIP_CONS **addedConss)
class for initial statistics collecting after racing
UG::ParaSolution * createParaSolution()
UG::ParaInitialStat * createParaInitialStat()
void lockInterruptMsg()
lock interrupt message monitor to synchronize with the monitor thread
class ParaRacingRampUpParamSet (parameter set for racing ramp-up)
#define MPI_CALL(mpicall)
int myRank
rank of this process