Go to the documentation of this file.
27 #ifndef AbcTreeNode_h_
28 #define AbcTreeNode_h_
99 virtual int process(
bool isRoot =
false,
bool rampUp =
false);
118 virtual std::vector< CoinTriple<AlpsNodeDesc*, AlpsNodeStatus, double> >
154 std::cerr <<
"Not implemented!" << std::endl;
155 throw std::exception();
AbcTreeNode(AbcNodeDesc *&desc)
virtual std::vector< CoinTriple< AlpsNodeDesc *, AlpsNodeStatus, double > > branch()
int getBranchedDir() const
void setBranchedOnValue(double b)
int getBranchedOn() const
double branchedOnVal_
The solution value (non-integral) of the branching variable.
AlpsNodeDesc * desc_
The actual description of the tree node.
virtual AlpsReturnStatus decodeToSelf(AlpsEncoded &encoded)
Decode the given AlpsEncoded object into this.
int numberUnsatisfied() const
Get the number of objects unsatisfied at this node.
double quality_
The quality of this node.
double guessedObjectiveValue_
Guessed satisfied Objective value.
void setGuessedObjectiveValue(double value)
int branchedOn_
The index of the branching variable.
This class holds one node of the search tree.
virtual AlpsTreeNode * createNewTreeNode(AlpsNodeDesc *&desc) const
The purpose of this function is be able to create the children of a node after branching.
void setBranchedOn(int b)
AbcTreeNode & operator=(AbcTreeNode const &)
Disable copy assignment operator.
virtual AlpsKnowledge * decode(AlpsEncoded &encoded) const
Decode the given AlpsEncoded object into a new AbcTreeNode.
This is an abstract base class for subproblem data to be stored in a tree node.
int branchedDir_
Branching direction.
void setBranchedDir(int d)
The abstract base class of Alps knowledges generated during the search.
double getObjValue() const
Query/set the objective value (could be approximately or not exit) of the node.
void setObjValue(const double objValue)
AlpsEncoded * encode() const
Encode the content of this into an AlpsEncoded object and return a pointer to it.
int chooseBranch(AbcModel *model, bool &strongFound)
Select the branch variable.
Model class for ALPS Branch and Cut.
double guessedObjectiveValue() const
Guessed objective value (for solution)
virtual int process(bool isRoot=false, bool rampUp=false)
Performing the bounding operation.
double getBranchedOnValue() const
int numberUnsatisfied_
The number of objects unsatisfied at this node.