Scippy

UG

Ubiquity Generator framework

ScipParaSolutionMpi Class Reference

#include <scipParaSolutionMpi.h>

+ Inheritance diagram for ScipParaSolutionMpi:

Public Member Functions

 ScipParaSolutionMpi ()
 
 ScipParaSolutionMpi (ScipParaSolver *solver, SCIP_Real objval, int inNvars, SCIP_VAR **vars, SCIP_Real *vals)
 
 ScipParaSolutionMpi (double inObjectiveFunctionValue, int inNVars, int *inIndicesAmongSolvers, SCIP_Real *inValues)
 
 ~ScipParaSolutionMpi ()
 
ScipParaSolutionMpiclone (UG::ParaComm *comm)
 
void bcast (UG::ParaComm *comm, int root)
 
void send (UG::ParaComm *comm, int destination)
 
void receive (UG::ParaComm *comm, int source)
 
- Public Member Functions inherited from ScipParaSolution
 ScipParaSolution ()
 
 ScipParaSolution (ScipParaSolver *solver, SCIP_Real objval, int inNvars, SCIP_VAR **vars, SCIP_Real *vals)
 
 ScipParaSolution (double inObjectiveFunctionValue, int inNVars, int *inIndicesAmongSolvers, SCIP_Real *inValues)
 
virtual ~ScipParaSolution ()
 
double getObjectiveFunctionValue ()
 
void setObjectiveFuntionValue (SCIP_Real val)
 
int getNVars ()
 
int indexAmongSolvers (int index)
 
SCIP_Real * getValues ()
 
void setValue (int i, SCIP_Real val)
 
const std::string toString ()
 
- Public Member Functions inherited from BbParaSolution
 BbParaSolution ()
 DO NOT HAVE DATA MEMBER!! More...
 
virtual ~BbParaSolution ()
 destructor More...
 
virtual double getCutOffValue ()
 get cutoff value More...
 
- Public Member Functions inherited from ParaSolution
 ParaSolution ()
 DO NOT HAVE DATA MEMBER!! More...
 
virtual ~ParaSolution ()
 destructor More...
 

Private Member Functions

MPI_Datatype createPreDatatype ()
 
MPI_Datatype createDatatype (bool memAllocNecessary)
 

Additional Inherited Members

- Protected Attributes inherited from ScipParaSolution
double objectiveFunctionValue
 
int nVars
 
int * indicesAmongSolvers
 
SCIP_Real * values
 

Detailed Description

ScipSolution class

Definition at line 49 of file scipParaSolutionMpi.h.

Constructor & Destructor Documentation

◆ ScipParaSolutionMpi() [1/3]

default constructor

Definition at line 59 of file scipParaSolutionMpi.h.

◆ ScipParaSolutionMpi() [2/3]

ScipParaSolutionMpi ( ScipParaSolver solver,
SCIP_Real  objval,
int  inNvars,
SCIP_VAR **  vars,
SCIP_Real *  vals 
)

constructor

Definition at line 65 of file scipParaSolutionMpi.h.

◆ ScipParaSolutionMpi() [3/3]

ScipParaSolutionMpi ( double  inObjectiveFunctionValue,
int  inNVars,
int *  inIndicesAmongSolvers,
SCIP_Real *  inValues 
)

constructor

Parameters
inNVarsnumber of variables
inIndicesAmongSolversarray of variable indices ( probindex )
inValuesarray of bounds which the branchings

Definition at line 75 of file scipParaSolutionMpi.h.

◆ ~ScipParaSolutionMpi()

Member Function Documentation

◆ bcast()

void bcast ( UG::ParaComm comm,
int  root 
)
virtual

broadcast solution data to from the root rank

send solution data to the rank

Implements ParaSolution.

Definition at line 137 of file scipParaSolutionMpi.cpp.

References DEF_PARA_COMM, ParaComm::getRank(), MPI_CALL, and PARA_COMM_CALL.

Referenced by ScipParaSolutionMpi::~ScipParaSolutionMpi().

◆ clone()

ScipParaSolutionMpi * clone ( UG::ParaComm comm)
virtual

create clone of this object

Implements ParaSolution.

Definition at line 46 of file scipParaSolutionMpi.cpp.

Referenced by ScipParaSolutionMpi::~ScipParaSolutionMpi().

◆ createDatatype()

MPI_Datatype createDatatype ( bool  memAllocNecessary)
private

create scipSolutionDatatype

create ScipDiffSubproblemDatatype

Definition at line 91 of file scipParaSolutionMpi.cpp.

References MPI_CALL.

◆ createPreDatatype()

MPI_Datatype createPreDatatype ( )
private

create scipSolutionPreDatatype

create ScipDiffSubproblemPreDatatype

Definition at line 53 of file scipParaSolutionMpi.cpp.

References MPI_CALL.

◆ receive()

void receive ( UG::ParaComm comm,
int  source 
)
virtual

receive solution data from the source rank

Implements ParaSolution.

Definition at line 209 of file scipParaSolutionMpi.cpp.

References DEF_PARA_COMM, MPI_CALL, PARA_COMM_CALL, and UG::TagSolution.

Referenced by ScipParaSolutionMpi::~ScipParaSolutionMpi().

◆ send()

void send ( UG::ParaComm comm,
int  destination 
)
virtual

send solution data to the rank

Implements ParaSolution.

Definition at line 177 of file scipParaSolutionMpi.cpp.

References DEF_PARA_COMM, MPI_CALL, PARA_COMM_CALL, and UG::TagSolution.

Referenced by ScipParaSolutionMpi::~ScipParaSolutionMpi().