24 #ifndef BlisTreeNode_h_ 25 #define BlisTreeNode_h_ 73 const double *lpSolution,
74 double lpObjValue)
const;
121 virtual int process(
bool isRoot =
false,
bool rampUp =
false);
130 virtual std::vector< CoinTriple<AlpsNodeDesc*, AlpsNodeStatus, double> >
155 const double *currLpSolution,
160 const double *solution,
virtual int bound(BcpsModel *model)
Bounding procedure.
virtual AlpsKnowledge * decode(AlpsEncoded &) const
Decode a node from an encoded object.
virtual AlpsEncoded * encode() const
virtual void convertToRelative()
virtual void convertToExplicit()
Convert explicit description to difference, and vise-vesa.
BlisTreeNode(BlisModel *m)
Useful constructor.
virtual ~BlisTreeNode()
Destructor.
This is the class in which we are finally able to concretely define the bounding procedure.
virtual int chooseBranchingObject(BcpsModel *)
To be defined.
virtual std::vector< CoinTriple< AlpsNodeDesc *, AlpsNodeStatus, double > > branch()
Takes the explicit description of the current active node and creates the children's descriptions,...
void init()
Initilize member data when constructing a node.
int callHeuristics(BlisModel *model, bool onlyBeforeRoot=false)
Call heuristic to search solutions.
int selectBranchObject(BlisModel *model, bool &foundSol, int numPassesLeft)
Select a branching object based on give branching strategy.
virtual int installSubProblem(BcpsModel *mode)
intall subproblem
void getViolatedConstraints(BlisModel *model, const double *currLpSolution, BcpsConstraintPool &conPool)
Get violated constraints.
BlisTreeNode(AlpsNodeDesc *&desc)
Useful constructor.
BlisReturnStatus applyConstraints(BlisModel *model, const double *solution, BcpsConstraintPool &conPool)
Select and apply constraints.
BlisTreeNode()
Default constructor.
int generateConstraints(BlisModel *model, BcpsConstraintPool &conPool)
Generate constraints.
BlisReturnStatus reducedCostFix(BlisModel *model)
Fix and tighten varaibles based optimality conditions.
virtual AlpsEncoded * encode() const
Encode this node for message passing.
AlpsTreeNode * createNewTreeNode(AlpsNodeDesc *&desc) const
Create a new node based on given desc.