Alps
2.0.2
|
#include <AbcTreeNode.h>
Public Member Functions | |
AbcTreeNode () | |
AbcTreeNode (AbcNodeDesc *&desc) | |
virtual | ~AbcTreeNode () |
virtual AlpsTreeNode * | createNewTreeNode (AlpsNodeDesc *&desc) const |
The purpose of this function is be able to create the children of a node after branching. More... | |
virtual int | process (bool isRoot=false, bool rampUp=false) |
Performing the bounding operation. More... | |
int | chooseBranch (AbcModel *model, bool &strongFound) |
Select the branch variable. More... | |
virtual std::vector< CoinTriple< AlpsNodeDesc *, AlpsNodeStatus, double > > | branch () |
int | numberUnsatisfied () const |
Get the number of objects unsatisfied at this node. More... | |
double | guessedObjectiveValue () const |
Guessed objective value (for solution) More... | |
void | setGuessedObjectiveValue (double value) |
void | setBranchedOn (int b) |
void | setBranchedDir (int d) |
void | setBranchedOnValue (double b) |
int | getBranchedOn () const |
int | getBranchedDir () const |
double | getBranchedOnValue () const |
virtual AlpsReturnStatus | encode (AlpsEncoded *encoded) const |
Encode this into given object as input. More... | |
virtual AlpsKnowledge * | decode (AlpsEncoded &encoded) const |
Decode the given AlpsEncoded object into a new AbcTreeNode. More... | |
virtual AlpsReturnStatus | decodeToSelf (AlpsEncoded &encoded) |
Decode the given AlpsEncoded object into this. More... | |
AbcTreeNode () | |
AbcTreeNode (AbcNodeDesc *&desc) | |
virtual | ~AbcTreeNode () |
virtual AlpsTreeNode * | createNewTreeNode (AlpsNodeDesc *&desc) const |
The purpose of this function is be able to create the children of a node after branching. More... | |
virtual int | process (bool isRoot=false, bool rampUp=false) |
Performing the bounding operation. More... | |
int | chooseBranch (AbcModel *model, bool &strongFound) |
Select the branch variable. More... | |
virtual std::vector< CoinTriple< AlpsNodeDesc *, AlpsNodeStatus, double > > | branch () |
int | numberUnsatisfied () const |
Get the number of objects unsatisfied at this node. More... | |
double | guessedObjectiveValue () const |
Guessed objective value (for solution) More... | |
void | setGuessedObjectiveValue (double value) |
void | setBranchedOn (int b) |
void | setBranchedDir (int d) |
void | setBranchedOnValue (double b) |
int | getBranchedOn () const |
int | getBranchedDir () const |
double | getBranchedOnValue () const |
virtual AlpsReturnStatus | encode (AlpsEncoded *encoded) const |
Encode this into given object as input. More... | |
virtual AlpsKnowledge * | decode (AlpsEncoded &encoded) const |
Decode the given AlpsEncoded object into a new AbcTreeNode. More... | |
virtual AlpsReturnStatus | decodeToSelf (AlpsEncoded &encoded) |
Decode the given AlpsEncoded object into this. More... | |
AbcTreeNode () | |
AbcTreeNode (AbcNodeDesc *&desc) | |
virtual | ~AbcTreeNode () |
virtual AlpsTreeNode * | createNewTreeNode (AlpsNodeDesc *&desc) const |
The purpose of this function is be able to create the children of a node after branching. More... | |
virtual int | process (bool isRoot=false, bool rampUp=false) |
Performing the bounding operation. More... | |
int | chooseBranch (AbcModel *model, bool &strongFound) |
Select the branch variable. More... | |
virtual std::vector< CoinTriple< AlpsNodeDesc *, AlpsNodeStatus, double > > | branch () |
int | numberUnsatisfied () const |
Get the number of objects unsatisfied at this node. More... | |
double | guessedObjectiveValue () const |
Guessed objective value (for solution) More... | |
void | setGuessedObjectiveValue (double value) |
void | setBranchedOn (int b) |
void | setBranchedDir (int d) |
void | setBranchedOnValue (double b) |
int | getBranchedOn () const |
int | getBranchedDir () const |
double | getBranchedOnValue () const |
virtual AlpsReturnStatus | encode (AlpsEncoded *encoded) const |
Encode this into given object as input. More... | |
virtual AlpsKnowledge * | decode (AlpsEncoded &encoded) const |
Decode the given AlpsEncoded object into a new AbcTreeNode. More... | |
virtual AlpsReturnStatus | decodeToSelf (AlpsEncoded &encoded) |
Decode the given AlpsEncoded object into this. More... | |
AlpsEncoded * | encode () const |
Encode the content of this into an AlpsEncoded object and return a pointer to it. More... | |
virtual AlpsReturnStatus | encode (AlpsEncoded *encoded) const |
Encode the content of this into the given AlpsEncoded object. More... | |
AlpsEncoded * | encode () const |
Encode the content of this into an AlpsEncoded object and return a pointer to it. More... | |
virtual AlpsReturnStatus | encode (AlpsEncoded *encoded) const |
Encode the content of this into the given AlpsEncoded object. More... | |
AlpsEncoded * | encode () const |
Encode the content of this into an AlpsEncoded object and return a pointer to it. More... | |
virtual AlpsReturnStatus | encode (AlpsEncoded *encoded) const |
Encode the content of this into the given AlpsEncoded object. More... | |
double | getObjValue () const |
Query/set the objective value (could be approximately or not exit) of the node. More... | |
void | setObjValue (const double objValue) |
double | getObjValue () const |
Query/set the objective value (could be approximately or not exit) of the node. More... | |
void | setObjValue (const double objValue) |
double | getObjValue () const |
Query/set the objective value (could be approximately or not exit) of the node. More... | |
void | setObjValue (const double objValue) |
Public Member Functions inherited from AlpsTreeNode | |
AlpsTreeNode () | |
virtual | ~AlpsTreeNode () |
bool | operator< (const AlpsTreeNode &compNode) |
AlpsNodeDesc * | modifyDesc () |
Access the desc so that can modify it. More... | |
AlpsNodeDesc * | getDesc () const |
void | setDesc (AlpsNodeDesc *desc) |
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 |
void | setStatus (const AlpsNodeStatus stat) |
get status. More... | |
bool | isCandidate () const |
Query functions about specific stati. More... | |
bool | isEvaluated () const |
bool | isPregnant () const |
bool | isBranched () const |
bool | isFathomed () const |
bool | isDiscarded () const |
bool | isActive () const |
Query/set node in-process indicator. More... | |
void | setActive (const bool yesno) |
AlpsNodeIndex_t | getIndex () const |
Query/set node identifier (unique within subtree). More... | |
void | setIndex (const AlpsNodeIndex_t index) |
int | getDepth () const |
Query/set what depth the search tree node is at. More... | |
void | setDepth (const int depth) |
double | getSolEstimate () const |
Query/set the solution estimate of the node. More... | |
void | setSolEstimate (double est) |
double | getQuality () const |
Query/set the quality of the node. More... | |
void | setQuality (double quality) |
int | getNumChildren () const |
Query/set what the number of children. More... | |
void | setNumChildren (const int numChildren) |
void | modifyNumChildren (const int s) |
AlpsTreeNode * | getChild (const int i) const |
Query/set pointer to the ith child. More... | |
void | setChild (const int i, AlpsTreeNode *node) |
AlpsTreeNode * | getParent () const |
Get/set subtree. More... | |
void | setParent (AlpsTreeNode *parent) |
AlpsNodeIndex_t | getParentIndex () const |
Get/set the index of the parent of the node. More... | |
void | setParentIndex (AlpsNodeIndex_t index) |
int | getExplicit () const |
Get/set the indication of whether the node has full or differencing description. More... | |
void | setExplicit (int fp) |
virtual void | convertToExplicit () |
Convert explicit description to difference, and vise-vesa. More... | |
virtual void | convertToRelative () |
int | getSentMark () const |
Various marks used in parallel code. More... | |
void | setSentMark (const int tf) |
Public Member Functions inherited from AlpsKnowledge | |
AlpsKnowledge () | |
Default constructor. More... | |
AlpsKnowledge (AlpsKnowledgeType type) | |
AlpsKnowledge (AlpsKnowledgeType type, AlpsKnowledgeBroker *broker) | |
virtual | ~AlpsKnowledge () |
Destructor. More... | |
AlpsKnowledgeType | getType () const |
Get knowledge type. More... | |
void | setType (AlpsKnowledgeType t) |
Set knowledge type. More... | |
AlpsKnowledgeBroker * | broker () |
Get pointer to the knowledge broker. More... | |
const AlpsKnowledgeBroker * | broker () const |
Get pointer to the knowledge broker. More... | |
void | setBroker (AlpsKnowledgeBroker *broker) |
Set knowledge broker. More... | |
AlpsEncoded * | encode () const |
Encode the content of this into an AlpsEncoded object and return a pointer to it. More... | |
Private Member Functions | |
AbcTreeNode (AbcTreeNode const &) | |
Disable copy constructor. More... | |
AbcTreeNode & | operator= (AbcTreeNode const &) |
Disable copy assignment operator. More... | |
AbcTreeNode (AbcTreeNode const &) | |
Disable copy constructor. More... | |
AbcTreeNode & | operator= (AbcTreeNode const &) |
Disable copy assignment operator. More... | |
AbcTreeNode (AbcTreeNode const &) | |
Disable copy constructor. More... | |
AbcTreeNode & | operator= (AbcTreeNode const &) |
Disable copy assignment operator. More... | |
Private Attributes | |
int | branchedOn_ |
The index of the branching variable. More... | |
double | branchedOnVal_ |
The solution value (non-integral) of the branching variable. More... | |
int | branchedDir_ |
Branching direction. More... | |
double | guessedObjectiveValue_ |
Guessed satisfied Objective value. More... | |
int | numberUnsatisfied_ |
The number of objects unsatisfied at this node. More... | |
Additional Inherited Members | |
Public Attributes inherited from AlpsKnowledge | |
AlpsKnowledgeBroker * | broker_ |
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... | |
AlpsTreeNode * | parent_ |
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... | |
AlpsNodeDesc * | desc_ |
The actual description of the tree node. More... | |
AlpsNodeStatus | status_ |
The current status of the node. More... | |
int | sentMark_ |
Various mark used in splitting and passing subtrees. More... | |
Definition at line 47 of file AbcTreeNode.h.
|
inline |
Definition at line 65 of file AbcTreeNode.h.
|
inline |
Definition at line 77 of file AbcTreeNode.h.
|
inlinevirtual |
Definition at line 92 of file AbcTreeNode.h.
|
private |
Disable copy constructor.
|
inline |
Definition at line 65 of file AbcTreeNode.h.
|
inline |
Definition at line 77 of file AbcTreeNode.h.
|
inlinevirtual |
Definition at line 92 of file AbcTreeNode.h.
|
private |
Disable copy constructor.
|
inline |
Definition at line 65 of file AbcTreeNode.h.
|
inline |
Definition at line 77 of file AbcTreeNode.h.
|
inlinevirtual |
Definition at line 92 of file AbcTreeNode.h.
|
private |
Disable copy constructor.
|
virtual |
The purpose of this function is be able to create the children of a node after branching.
Implements AlpsTreeNode.
|
virtual |
Performing the bounding operation.
int AbcTreeNode::chooseBranch | ( | AbcModel * | model, |
bool & | strongFound | ||
) |
Select the branch variable.
Return value:
|
inline |
Query/set the objective value (could be approximately or not exit) of the node.
Definition at line 114 of file AbcTreeNode.h.
|
inline |
Definition at line 115 of file AbcTreeNode.h.
|
virtual |
|
inline |
Get the number of objects unsatisfied at this node.
Definition at line 122 of file AbcTreeNode.h.
|
inline |
Guessed objective value (for solution)
Definition at line 126 of file AbcTreeNode.h.
|
inline |
Definition at line 129 of file AbcTreeNode.h.
|
inline |
Definition at line 132 of file AbcTreeNode.h.
|
inline |
Definition at line 134 of file AbcTreeNode.h.
|
inline |
Definition at line 136 of file AbcTreeNode.h.
|
inline |
Definition at line 138 of file AbcTreeNode.h.
|
inline |
Definition at line 140 of file AbcTreeNode.h.
|
inline |
Definition at line 142 of file AbcTreeNode.h.
|
virtual |
Encode this into given object as input.
Reimplemented from AlpsKnowledge.
|
virtual |
Decode the given AlpsEncoded object into a new AbcTreeNode.
Implements AlpsKnowledge.
|
inlinevirtual |
Decode the given AlpsEncoded object into this.
Reimplemented from AlpsKnowledge.
Definition at line 153 of file AbcTreeNode.h.
|
private |
Disable copy assignment operator.
|
virtual |
The purpose of this function is be able to create the children of a node after branching.
Implements AlpsTreeNode.
|
virtual |
Performing the bounding operation.
int AbcTreeNode::chooseBranch | ( | AbcModel * | model, |
bool & | strongFound | ||
) |
Select the branch variable.
Return value:
|
inline |
Query/set the objective value (could be approximately or not exit) of the node.
Definition at line 114 of file AbcTreeNode.h.
|
inline |
Definition at line 115 of file AbcTreeNode.h.
|
virtual |
|
inline |
Get the number of objects unsatisfied at this node.
Definition at line 122 of file AbcTreeNode.h.
|
inline |
Guessed objective value (for solution)
Definition at line 126 of file AbcTreeNode.h.
|
inline |
Definition at line 129 of file AbcTreeNode.h.
|
inline |
Definition at line 132 of file AbcTreeNode.h.
|
inline |
Definition at line 134 of file AbcTreeNode.h.
|
inline |
Definition at line 136 of file AbcTreeNode.h.
|
inline |
Definition at line 138 of file AbcTreeNode.h.
|
inline |
Definition at line 140 of file AbcTreeNode.h.
|
inline |
Definition at line 142 of file AbcTreeNode.h.
|
virtual |
Encode this into given object as input.
Reimplemented from AlpsKnowledge.
|
virtual |
Decode the given AlpsEncoded object into a new AbcTreeNode.
Implements AlpsKnowledge.
|
inlinevirtual |
Decode the given AlpsEncoded object into this.
Reimplemented from AlpsKnowledge.
Definition at line 153 of file AbcTreeNode.h.
|
private |
Disable copy assignment operator.
|
virtual |
The purpose of this function is be able to create the children of a node after branching.
Implements AlpsTreeNode.
|
virtual |
Performing the bounding operation.
int AbcTreeNode::chooseBranch | ( | AbcModel * | model, |
bool & | strongFound | ||
) |
Select the branch variable.
Return value:
|
inline |
Query/set the objective value (could be approximately or not exit) of the node.
Definition at line 114 of file AbcTreeNode.h.
|
inline |
Definition at line 115 of file AbcTreeNode.h.
|
virtual |
|
inline |
Get the number of objects unsatisfied at this node.
Definition at line 122 of file AbcTreeNode.h.
|
inline |
Guessed objective value (for solution)
Definition at line 126 of file AbcTreeNode.h.
|
inline |
Definition at line 129 of file AbcTreeNode.h.
|
inline |
Definition at line 132 of file AbcTreeNode.h.
|
inline |
Definition at line 134 of file AbcTreeNode.h.
|
inline |
Definition at line 136 of file AbcTreeNode.h.
|
inline |
Definition at line 138 of file AbcTreeNode.h.
|
inline |
Definition at line 140 of file AbcTreeNode.h.
|
inline |
Definition at line 142 of file AbcTreeNode.h.
|
virtual |
Encode this into given object as input.
Reimplemented from AlpsKnowledge.
|
virtual |
Decode the given AlpsEncoded object into a new AbcTreeNode.
Implements AlpsKnowledge.
|
inlinevirtual |
Decode the given AlpsEncoded object into this.
Reimplemented from AlpsKnowledge.
Definition at line 153 of file AbcTreeNode.h.
|
private |
Disable copy assignment operator.
AlpsEncoded* AlpsKnowledge::encode |
Encode the content of this into an AlpsEncoded object and return a pointer to it.
virtual AlpsReturnStatus AlpsKnowledge::encode |
Encode the content of this into the given AlpsEncoded object.
Implementation given in this class can not be used when the memory of data members is not contiguous, i.e., some data members are pointers to heap locations, STL set, map, etc. These type of user application sub-classes should implement their own version of this.
AlpsEncoded* AlpsKnowledge::encode |
Encode the content of this into an AlpsEncoded object and return a pointer to it.
virtual AlpsReturnStatus AlpsKnowledge::encode |
Encode the content of this into the given AlpsEncoded object.
Implementation given in this class can not be used when the memory of data members is not contiguous, i.e., some data members are pointers to heap locations, STL set, map, etc. These type of user application sub-classes should implement their own version of this.
AlpsEncoded* AlpsKnowledge::encode |
Encode the content of this into an AlpsEncoded object and return a pointer to it.
virtual AlpsReturnStatus AlpsKnowledge::encode |
Encode the content of this into the given AlpsEncoded object.
Implementation given in this class can not be used when the memory of data members is not contiguous, i.e., some data members are pointers to heap locations, STL set, map, etc. These type of user application sub-classes should implement their own version of this.
|
private |
The index of the branching variable.
Definition at line 50 of file AbcTreeNode.h.
|
private |
The solution value (non-integral) of the branching variable.
Definition at line 53 of file AbcTreeNode.h.
|
private |
Branching direction.
Definition at line 56 of file AbcTreeNode.h.
|
private |
Guessed satisfied Objective value.
Definition at line 59 of file AbcTreeNode.h.
|
private |
The number of objects unsatisfied at this node.
Definition at line 62 of file AbcTreeNode.h.