37#ifndef __PARA_TASK_H__ 
   38#define __PARA_TASK_H__ 
   95         int inGlobalSubtreeIdInLc,
 
  213      std::ostringstream s;
 
  356      std::ostringstream s;
 
  597         double inEstimatedValue,                 
 
  730         const int globalSubtaskIdInLc  
 
  844         double inEstimatedValue      
 
  900      std::map< TaskId, ParaTaskGenealogicalPtrPtr >::iterator pos;
 
  914               std::cout << 
"Descendant TaskId = " << localPtrDescendant->
getTaskId().
toString() << std::endl;
 
  987         gzstream::ogzstream &out   
 
  999      std::ostringstream s;
 
 1018      std::ostringstream s;
 
Base class of communicator object.
 
Class for the difference between instance and subproblem.
 
virtual const std::string toString()=0
stringfy ParaDiffSubproblem object ( for debugging )
 
class ParaTaskGenealogicalLocalPtr
 
ParaTask * paraTaskPtr
pointer to ParaTask
 
ParaTaskGenealogicalLocalPtr()
default constructor
 
~ParaTaskGenealogicalLocalPtr()
destructor
 
ParaTask * getPointerValue()
getter for ParaTask pointer
 
int getType()
getter of pointer type
 
ParaTaskGenealogicalLocalPtr(TaskId taskId, ParaTask *ptr)
constructor
 
class of pointer to indicate a ParaTask genealogical relation
 
virtual int getType()=0
getter type which indicate the pointer is local or remote
 
ParaTaskGenealogicalPtr(TaskId taskId)
constructor
 
TaskId genealogicalTaskId
descendant TaskId or ascendant TaskId
 
TaskId getTaskId()
getter of genealogicaltaskId
 
virtual ~ParaTaskGenealogicalPtr()
destructor
 
class ParaTaskGenealogicalRemotePtr
 
ParaTaskGenealogicalRemotePtr()
default constructor
 
int transferringLcId
LoadCoordinator id that transfers to or is transferred from.
 
~ParaTaskGenealogicalRemotePtr()
destructor
 
int getPointerValue()
getter of the pointer value
 
ParaTaskGenealogicalRemotePtr(TaskId taskId, int lcId)
constructor
 
int getType()
getter of pointer type
 
ParaTask(TaskId inTaskId, TaskId inGeneratorTaskId, double inEstimatedValue, ParaDiffSubproblem *inDiffSubproblem)
constructor
 
bool isRootTask()
check if root task or not
 
void setEstimatedValue(double inEstimatedValue)
setter of estimated value
 
virtual int bcast(ParaComm *comm, int root)=0
broadcast this object
 
bool isSameParetntTaskSubtaskIdAs(const TaskId &inTaskId)
check if this task's parent subtree id is the same as that of argument ParaTask's task id
 
void setGeneratorTaskId(TaskId inGeneratorTaskId)
setter of generator task id
 
ParaTask(const ParaTask ¶Task)
copy constructor
 
bool isSameGlobalSubtaskIdInLcAs(const int globalSubtaskIdInLc)
check if this task's global subtask id in LC is the same as that of argument
 
TaskId getGeneratorTaskId()
getter of generator task id
 
void setTaskId(TaskId inTaskId)
setter of task id
 
int diffSubproblemInfo
1: with diffSubproblem, 0: no diffSubproblem
 
void setSolverId(int id)
setter of Solver id
 
ParaDiffSubproblem * diffSubproblem
difference between solving instance data and subproblem data
 
bool isSameTaskIdAs(const ParaTask &inTask)
check if this task id is the same as argument ParaTask's task id
 
std::map< TaskId, ParaTaskGenealogicalPtrPtr > descendants
collection of pointers to descendants : This filed is not transferred
 
TaskId taskId
solving task information
 
bool hasDescendant()
check if this task has descendant or not
 
virtual void write(gzstream::ogzstream &out)=0
write to checkpoint file
 
ParaTaskGenealogicalPtr * ancestor
pointer to ancestor ParaTask : This field is not transferred
 
bool isSameLcIdAs(const ParaTask &inTask)
check if this task's global subtask id in LC is the same as that of argument ParaTask's task id
 
void setDiffSubproblem(ParaDiffSubproblem *inDiffSubproblem)
setter of diffSubproblem */
 
void removeDescendant(TaskId removeTaskId)
remove a descendant
 
virtual int send(ParaComm *comm, int destination)=0
send this object
 
double estimatedValue
estimate value
 
void addDescendant(ParaTaskGenealogicalPtr *inDescendant)
add a descendant
 
virtual int receive(ParaComm *comm, int source)=0
receive this object
 
virtual ~ParaTask()
destructor
 
bool isSameGlobalSubtaskIdInLcAs(const ParaTask &inTask)
check if this task's global subtask id in LC is the same as that of argument ParaTask's task id
 
int getGlobalSubtaskIdInLc()
getter of global subtask id in Solvers managed by LoadCoordinator
 
void setAncestor(ParaTaskGenealogicalPtr *inAncestor)
setter of ancestor
 
int getLcId()
getter of LoadCoordinator id
 
virtual ParaTask * clone(ParaComm *comm)=0
clone this ParaTask
 
bool isSameLcIdAs(const int lcId)
check if this task's global subtask LC id is the same as LC id of argument
 
TaskId generatorTaskId
subtree root task id of generator
 
int getSolverId()
getter of Solver id
 
bool isSameParetntTaskIdAs(const ParaTask &inTask)
check if this task's parent id is the same as that of argument ParaTask's task id
 
virtual const std::string toString()
stringfy ParaTask
 
void setGlobalSubtaskId(int lcId, int subtaskId)
setter of global subtask id
 
TaskId getTaskId()
getter of task id
 
ParaTaskGenealogicalPtr * getAncestor()
getter of ancestor
 
bool isSameSubtaskIdAs(const ParaTask &inTask)
check if this task's subtask id is the same as that of argument ParaTask's task id
 
virtual const std::string toSimpleString()
stringfy ParaTask as simple string
 
ParaDiffSubproblem * getDiffSubproblem()
getter of diffSubproblem
 
double getEstimatedValue()
getter of estimated value
 
ParaTask()
default constructor
 
SubtaskId(const SubtaskId &subtreeId)
copy constructor
 
int getGlobalSubtreeIdInLc() const
getter of global subtree id in Solvers managed by the LoadCoordinator
 
int globalSubtaskIdInLc
Global Subtask ID in Solvers managed by LoadCoordinator.
 
SubtaskId(int inLcId, int inGlobalSubtreeIdInLc, int inSolverId)
constructor
 
bool operator==(const SubtaskId &inSid) const
== operator definition
 
int lcId
LoadCoordinator ID.
 
bool operator<(const SubtaskId &inSid) const
< operator definition
 
int getSolverId() const
getter of Solver id
 
bool operator!=(const SubtaskId &inSid) const
!= operator definition
 
SubtaskId & operator=(const UG::SubtaskId &subTreeId)
= operator definition
 
int getLcId() const
getter of LoadCoordinator id
 
std::string toString()
Stringfy SubtreeId.
 
SubtaskId()
default constructor
 
long long seqNum
sequential number in the subtree
 
TaskId(const TaskId &taskId)
copy constructor
 
TaskId(SubtaskId inSubtreeId, int inSeqNum)
constructor
 
SubtaskId getSubtaskId() const
getter of subtask id
 
TaskId & operator=(const UG::TaskId &taskId)
= operator definition
 
TaskId()
default constructor
 
SubtaskId subtaskId
subtree id
 
bool operator!=(const TaskId &inNid) const
!= operator definition
 
std::string toString()
stringfy task id
 
long long getSeqNum() const
getter of sequence number
 
bool operator<(const TaskId &inNid) const
< operator definition
 
bool operator==(const TaskId &inNid) const
== operator definition
 
static ScipParaCommTh * comm
 
Utilities for handling gzipped input and output streams.
 
ParaTaskGenealogicalPtr * ParaTaskGenealogicalPtrPtr
 
static const int ParaTaskLocalPtr
 
static const int ParaTaskRemotePtr
 
Base class of communicator for UG Framework.
 
Defines for UG Framework.
 
#define THROW_LOGICAL_ERROR1(msg1)
 
Base class for a container which has difference between instance and subproblem.