Dip  0.92.4
Public Member Functions | Private Attributes | List of all members
AlpsDecompTreeNode Class Reference

#include <AlpsDecompTreeNode.h>

Inheritance diagram for AlpsDecompTreeNode:
Inheritance graph
[legend]
Collaboration diagram for AlpsDecompTreeNode:
Collaboration graph
[legend]

Public Member Functions

 AlpsDecompTreeNode ()
 Default constructor. More...
 
virtual ~AlpsDecompTreeNode ()
 Destructor. More...
 
bool checkIncumbent (AlpsDecompModel *model, const DecompSolution *decompSol)
 
AlpsTreeNodecreateNewTreeNode (AlpsNodeDesc *&desc) const
 Create a new node based on given desc. More...
 
int chooseBranchingObject (AlpsModel *model)
 To be defined. More...
 
int process (bool isRoot=false, bool rampUp=false)
 Performing the bounding operation. More...
 
std::vector< CoinTriple
< AlpsNodeDesc
*, AlpsNodeStatus, double > > 
branch ()
 Takes the explicit description of the current active node and creates the children's descriptions, which contain information about how the branching is to be done. More...
 
- Public Member Functions inherited from AlpsTreeNode
 AlpsTreeNode ()
 
virtual ~AlpsTreeNode ()
 
bool operator< (const AlpsTreeNode &compNode)
 
AlpsNodeDescmodifyDesc ()
 Access the desc so that can modify it. More...
 
AlpsNodeDescgetDesc () const
 
void setDesc (AlpsNodeDesc *desc)
 
AlpsKnowledgeBrokergetKnowledgeBroker () const
 Functions to access/set the knwoledge broker. More...
 
void setKnowledgeBroker (AlpsKnowledgeBroker *kb)
 
void removeChild (AlpsTreeNode *&child)
 Remove the pointer to given child from the list of children. More...
 
void addChild (AlpsTreeNode *&child)
 Add a child to the list of children for this node. More...
 
void removeDescendants ()
 Removes all the descendants of the node. More...
 
AlpsNodeStatus getStatus () const
 Query/set the current status. More...
 
void setStatus (const AlpsNodeStatus stat)
 Query/set the current status. More...
 
bool isCandidate () const
 Query functions about specific stati. More...
 
bool isEvaluated () const
 Query functions about specific stati. More...
 
bool isPregnant () const
 Query functions about specific stati. More...
 
bool isBranched () const
 Query functions about specific stati. More...
 
bool isFathomed () const
 Query functions about specific stati. More...
 
bool isDiscarded () const
 Query functions about specific stati. More...
 
bool isActive () const
 Query/set node in-process indicator. More...
 
void setActive (const bool yesno)
 Query/set node in-process indicator. More...
 
AlpsNodeIndex_t getIndex () const
 Query/set node identifier (unique within subtree). More...
 
void setIndex (const AlpsNodeIndex_t index)
 Query/set node identifier (unique within subtree). More...
 
int getDepth () const
 Query/set what depth the search tree node is at. More...
 
void setDepth (const int depth)
 Query/set what depth the search tree node is at. More...
 
double getSolEstimate () const
 Query/set the solution estimate of the node. More...
 
void setSolEstimate (double est)
 Query/set the solution estimate of the node. More...
 
double getQuality () const
 Query/set the quality of the node. More...
 
void setQuality (double quality)
 Query/set the quality of the node. More...
 
int getNumChildren () const
 Query/set what the number of children. More...
 
void setNumChildren (const int numChildren)
 Query/set what the number of children. More...
 
void modifyNumChildren (const int s)
 Query/set what the number of children. More...
 
AlpsTreeNodegetChild (const int i) const
 Query/set pointer to the ith child. More...
 
void setChild (const int i, AlpsTreeNode *node)
 Returns a const pointer to the ith child. More...
 
AlpsTreeNodegetParent () const
 Get/set subtree. More...
 
void setParent (AlpsTreeNode *parent)
 Get/set subtree. More...
 
AlpsNodeIndex_t getParentIndex () const
 Get/set the index of the parent of the node. More...
 
void setParentIndex (AlpsNodeIndex_t index)
 Get/set the index of the parent of the node. More...
 
int getExplicit () const
 
Get/set the indication of whether the node has full or differencing 

description. More...

 
void setExplicit (int fp)
 
Get/set the indication of whether the node has full or differencing 

description. More...

 
virtual void convertToExplicit ()
 Convert explicit description to difference, and vise-vesa. More...
 
virtual void convertToRelative ()
 Convert explicit description to difference, and vise-vesa. More...
 
int getSentMark () const
 Various marks used in parallel code. More...
 
void setSentMark (const int tf)
 Various marks used in parallel code. More...
 
- Public Member Functions inherited from AlpsKnowledge
 AlpsKnowledge ()
 
virtual ~AlpsKnowledge ()
 
KnowledgeType getType ()
 
void setType (KnowledgeType t)
 
virtual AlpsEncodedencode () const
 This method should encode the content of the object and return a pointer to the encoded form. More...
 
virtual AlpsReturnStatus encode (AlpsEncoded *encoded)
 Pack into a encode object. More...
 
virtual AlpsKnowledgedecode (AlpsEncoded &encoded) const
 This method should decode and return a pointer to a brand new object, i.e., the method must create a new object on the heap from the decoded data instead of filling up the object for which the method was invoked. More...
 
AlpsEncodedgetEncoded () const
 Get/set encoded. More...
 
void setEncoded (AlpsEncoded *e)
 

Private Attributes

std::string m_classTag
 class tag for debugging More...
 
std::vector< std::pair< int,
double > > 
downBranchLB_
 
std::vector< std::pair< int,
double > > 
downBranchUB_
 
std::vector< std::pair< int,
double > > 
upBranchLB_
 
std::vector< std::pair< int,
double > > 
upBranchUB_
 

Additional Inherited Members

- Protected Attributes inherited from AlpsTreeNode
bool active_
 The subtree own this node. More...
 
AlpsNodeIndex_t index_
 The unique index of the tree node (across the whole search tree). More...
 
int depth_
 The depth of the node (in the whole tree – the root is at depth 0). More...
 
double solEstimate_
 The solution estimate. More...
 
double quality_
 The quality of this node. More...
 
AlpsTreeNodeparent_
 The parent of the tree node. More...
 
AlpsNodeIndex_t parentIndex_
 The index of parent of the tree node. More...
 
int numChildren_
 The number of children. More...
 
AlpsTreeNode ** children_
 
int explicit_
 Indicate whether the node description is explicit(1) or relative(0). More...
 
AlpsNodeDescdesc_
 The actual description of the tree node. More...
 
AlpsNodeStatus status_
 The current status of the node. More...
 
AlpsKnowledgeBrokerknowledgeBroker_
 
A pointer to the knowledge broker of the process where this node is

processed. More...

 
int sentMark_
 Various mark used in splitting and passing subtrees. More...
 
- Protected Attributes inherited from AlpsKnowledge
KnowledgeType type_
 

Detailed Description

Definition at line 27 of file AlpsDecompTreeNode.h.

Constructor & Destructor Documentation

AlpsDecompTreeNode::AlpsDecompTreeNode ( )
inline

Default constructor.

Definition at line 39 of file AlpsDecompTreeNode.h.

virtual AlpsDecompTreeNode::~AlpsDecompTreeNode ( )
inlinevirtual

Destructor.

Definition at line 48 of file AlpsDecompTreeNode.h.

Member Function Documentation

bool AlpsDecompTreeNode::checkIncumbent ( AlpsDecompModel model,
const DecompSolution decompSol 
)
AlpsTreeNode* AlpsDecompTreeNode::createNewTreeNode ( AlpsNodeDesc *&  desc) const
virtual

Create a new node based on given desc.

Implements AlpsTreeNode.

int AlpsDecompTreeNode::chooseBranchingObject ( AlpsModel model)

To be defined.

??

int AlpsDecompTreeNode::process ( bool  isRoot = false,
bool  rampUp = false 
)

Performing the bounding operation.

std::vector< CoinTriple<AlpsNodeDesc*, AlpsNodeStatus, double> > AlpsDecompTreeNode::branch ( )

Takes the explicit description of the current active node and creates the children's descriptions, which contain information about how the branching is to be done.

The stati of the children are AlpsNodeStatusCandidate.

Member Data Documentation

std::string AlpsDecompTreeNode::m_classTag
private

class tag for debugging

Definition at line 30 of file AlpsDecompTreeNode.h.

std::vector< std::pair<int, double> > AlpsDecompTreeNode::downBranchLB_
private

Definition at line 32 of file AlpsDecompTreeNode.h.

std::vector< std::pair<int, double> > AlpsDecompTreeNode::downBranchUB_
private

Definition at line 33 of file AlpsDecompTreeNode.h.

std::vector< std::pair<int, double> > AlpsDecompTreeNode::upBranchLB_
private

Definition at line 34 of file AlpsDecompTreeNode.h.

std::vector< std::pair<int, double> > AlpsDecompTreeNode::upBranchUB_
private

Definition at line 35 of file AlpsDecompTreeNode.h.


The documentation for this class was generated from the following file: