16#ifndef KnapTreeNode_h_
17#define KnapTreeNode_h_
147 virtual int process(
bool isRoot =
false,
bool rampUp =
false);
149 virtual std::vector< CoinTriple<AlpsNodeDesc*, AlpsNodeStatus, double> >
This data structure is to contain the packed form of an encodable knowledge.
The abstract base class of any user-defined class that Alps has to know about in order to encode/deco...
A class to refer to the description of a search tree node.
AlpsModel * model_
A pointer to model.
This class holds one node of the search tree.
AlpsNodeDesc * desc_
The actual description of the tree node.
AlpsKnowledgeBroker * getKnowledgeBroker() const
Functions to access/set the knwoledge broker.
KnapVarStatus * varStatus_
This array keeps track of which variables have been fixed by branching and which are still free.
int usedCapacity_
The total size of the items fixed to be put into the knapsack.
KnapNodeDesc(KnapModel *m, KnapVarStatus *&st, int cap, int val)
KnapVarStatus getVarStatus(const int i)
void setVarStatus(const int i, const KnapVarStatus status)
KnapNodeDesc(KnapModel *m)
const KnapVarStatus * getVarStati() const
int getUsedCapacity() const
KnapTreeNode(KnapNodeDesc *&desc)
KnapTreeNode(const KnapTreeNode &)
KnapTreeNode & operator=(const KnapTreeNode &)
virtual int process(bool isRoot=false, bool rampUp=false)
virtual AlpsEncoded * encode() const
This method should encode the content of the object and return a pointer to the encoded form.
int branchedOn_
The index of the branching variable.
virtual std::vector< CoinTriple< AlpsNodeDesc *, AlpsNodeStatus, double > > branch()
KnapTreeNode(KnapModel *model)
virtual AlpsTreeNode * createNewTreeNode(AlpsNodeDesc *&desc) const
The purpose of this function is be able to create the children of a node after branching.
virtual AlpsKnowledge * decode(AlpsEncoded &) const
This method should decode and return a pointer to a brand new object, i.e., the method must create a ...