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