#include <BlisSubTree.h>
Inheritance diagram for BlisTreeNode:
Public Member Functions | |
BlisTreeNode () | |
Default constructor. | |
BlisTreeNode (BlisModel *m) | |
Useful constructor. | |
BlisTreeNode (AlpsNodeDesc *&desc) | |
Useful constructor. | |
virtual | ~BlisTreeNode () |
Destructor. | |
void | init () |
Initilize member data when constructing a node. | |
AlpsTreeNode * | createNewTreeNode (AlpsNodeDesc *&desc) const |
Create a new node based on given desc. | |
virtual int | installSubProblem (BcpsModel *mode) |
intall subproblem | |
virtual int | process (bool isRoot=false, bool rampUp=false) |
Performing the bounding operation. | |
virtual int | bound (BcpsModel *model) |
Bounding procedure. | |
virtual std::vector< CoinTriple< AlpsNodeDesc *, AlpsNodeStatus, double > > | branch () |
Takes the explicit description of the current active node and creates the children's descriptions, which contain information about how the branching is to be done. | |
int | selectBranchObject (BlisModel *model, bool &foundSol, int numPassesLeft) |
Select a branching object based on give branching strategy. | |
virtual int | chooseBranchingObject (BcpsModel *) |
To be defined. | |
int | generateConstraints (BlisModel *model, OsiCuts &cutPool) |
Generate constraints. | |
int | applyConstraints (BlisModel *model, OsiCuts &cutPool, const double *solution) |
Select and apply constraints. | |
int | reducedCostFix (BlisModel *model) |
Fix and tighten varaibles based optimality conditions. | |
virtual AlpsEncoded * | encode () const |
Encode this node for message passing. | |
virtual AlpsKnowledge * | decode (AlpsEncoded &) const |
Decode a node from an encoded object. | |
BlisTreeNode () | |
Default constructor. | |
BlisTreeNode (BlisModel *m) | |
Useful constructor. | |
BlisTreeNode (AlpsNodeDesc *&desc) | |
Useful constructor. | |
virtual | ~BlisTreeNode () |
Destructor. | |
void | init () |
Initilize member data when constructing a node. | |
AlpsTreeNode * | createNewTreeNode (AlpsNodeDesc *&desc) const |
Create a new node based on given desc. | |
virtual int | installSubProblem (BcpsModel *mode) |
intall subproblem | |
virtual int | process (bool isRoot=false, bool rampUp=false) |
Performing the bounding operation. | |
virtual int | bound (BcpsModel *model) |
Bounding procedure. | |
virtual std::vector< CoinTriple< AlpsNodeDesc *, AlpsNodeStatus, double > > | branch () |
Takes the explicit description of the current active node and creates the children's descriptions, which contain information about how the branching is to be done. | |
int | selectBranchObject (BlisModel *model, bool &foundSol, int numPassesLeft) |
Select a branching object based on give branching strategy. | |
virtual int | chooseBranchingObject (BcpsModel *) |
To be defined. | |
int | generateConstraints (BlisModel *model, BcpsConstraintPool &conPool) |
Generate constraints. | |
int | callHeuristics (BlisModel *model, bool onlyBeforeRoot=false) |
Call heuristic to search solutions. | |
void | getViolatedConstraints (BlisModel *model, const double *currLpSolution, BcpsConstraintPool &conPool) |
Get violated constraints. | |
BlisReturnStatus | applyConstraints (BlisModel *model, const double *solution, BcpsConstraintPool &conPool) |
Select and apply constraints. | |
BlisReturnStatus | reducedCostFix (BlisModel *model) |
Fix and tighten varaibles based optimality conditions. | |
virtual AlpsEncoded * | encode () const |
Encode this node for message passing. | |
virtual AlpsKnowledge * | decode (AlpsEncoded &) const |
Decode a node from an encoded object. | |
virtual void | convertToExplicit () |
Convert explicit description to difference, and vise-vesa. | |
virtual void | convertToRelative () |
Convert explicit description to difference, and vise-vesa. | |
virtual void | convertToExplicit () |
Convert explicit description to difference, and vise-vesa. | |
virtual void | convertToRelative () |
Convert explicit description to difference, and vise-vesa. | |
Private Member Functions | |
virtual void | process () |
void | branch (AlpsTreeNode &explicitNode) |
Takes the explicit description of the current active node and creates the children, adds them to the priority queue, etc. | |
virtual bool | fathom () |
Takes the explicit description of the current active node and decides whether or not it should be fathomed. | |
BlisTreeNode (const BlisTreeNode &) | |
No copy constructor, assignment operator. | |
BlisTreeNode & | operator= (const BlisTreeNode &) |
bool | parallel (BlisModel *model, OsiCuts *newCutSet, int lastNew, OsiRowCut *rowCut) |
Save an explicit node description. | |
virtual void | process () |
void | branch (AlpsTreeNode &explicitNode) |
Takes the explicit description of the current active node and creates the children, adds them to the priority queue, etc. | |
virtual bool | fathom () |
Takes the explicit description of the current active node and decides whether or not it should be fathomed. | |
BlisTreeNode (const BlisTreeNode &) | |
No copy constructor, assignment operator. | |
BlisTreeNode & | operator= (const BlisTreeNode &) |
bool | parallel (BlisModel *model, BcpsConstraintPool &conPool, int lastNew, BlisConstraint *aCon) |
Check and remove parallel constraints. | |
double | estimateSolution (BlisModel *model, const double *lpSolution, double lpObjValue) const |
Estimate quality of a feasible solution. |
Here we can assume that we have an LP solver and that the objects are cuts and variables, etc.
Definition at line 34 of file BlisSubTree.h.
BlisTreeNode::BlisTreeNode | ( | const BlisTreeNode & | ) | [private] |
No copy constructor, assignment operator.
BlisTreeNode::BlisTreeNode | ( | ) | [inline] |
BlisTreeNode::BlisTreeNode | ( | BlisModel * | m | ) | [inline] |
Useful constructor.
Definition at line 81 of file BlisTreeNode.h.
References AlpsTreeNode::desc_, and init().
BlisTreeNode::BlisTreeNode | ( | AlpsNodeDesc *& | desc | ) | [inline] |
Useful constructor.
Definition at line 87 of file BlisTreeNode.h.
References AlpsTreeNode::desc_, and init().
virtual BlisTreeNode::~BlisTreeNode | ( | ) | [inline, virtual] |
BlisTreeNode::BlisTreeNode | ( | const BlisTreeNode & | ) | [private] |
No copy constructor, assignment operator.
BlisTreeNode::BlisTreeNode | ( | ) | [inline] |
BlisTreeNode::BlisTreeNode | ( | BlisModel * | m | ) | [inline] |
Useful constructor.
Definition at line 85 of file BlisTreeNode.h.
References AlpsTreeNode::desc_, and init().
BlisTreeNode::BlisTreeNode | ( | AlpsNodeDesc *& | desc | ) | [inline] |
Useful constructor.
Definition at line 91 of file BlisTreeNode.h.
References AlpsTreeNode::desc_, and init().
virtual BlisTreeNode::~BlisTreeNode | ( | ) | [inline, virtual] |
virtual void BlisTreeNode::process | ( | ) | [private, virtual] |
void BlisTreeNode::branch | ( | AlpsTreeNode & | explicitNode | ) | [private] |
Takes the explicit description of the current active node and creates the children, adds them to the priority queue, etc.
Most likely, the node description will contain information about how the branching is to be done.
virtual bool BlisTreeNode::fathom | ( | ) | [private, virtual] |
Takes the explicit description of the current active node and decides whether or not it should be fathomed.
BlisTreeNode& BlisTreeNode::operator= | ( | const BlisTreeNode & | ) | [private] |
bool BlisTreeNode::parallel | ( | BlisModel * | model, | |
OsiCuts * | newCutSet, | |||
int | lastNew, | |||
OsiRowCut * | rowCut | |||
) | [private] |
Save an explicit node description.
void BlisTreeNode::init | ( | ) | [inline] |
Initilize member data when constructing a node.
Definition at line 100 of file BlisTreeNode.h.
Referenced by BlisTreeNode().
AlpsTreeNode* BlisTreeNode::createNewTreeNode | ( | AlpsNodeDesc *& | desc | ) | const [virtual] |
virtual void BlisTreeNode::convertToExplicit | ( | ) | [virtual] |
virtual void BlisTreeNode::convertToRelative | ( | ) | [virtual] |
virtual int BlisTreeNode::installSubProblem | ( | BcpsModel * | mode | ) | [virtual] |
virtual int BlisTreeNode::process | ( | bool | isRoot = false , |
|
bool | rampUp = false | |||
) | [virtual] |
virtual int BlisTreeNode::bound | ( | BcpsModel * | model | ) | [virtual] |
virtual std::vector< CoinTriple<AlpsNodeDesc*, AlpsNodeStatus, double> > BlisTreeNode::branch | ( | ) | [virtual] |
Takes the explicit description of the current active node and creates the children's descriptions, which contain information about how the branching is to be done.
The stati of the children are AlpsNodeStatusCandidate.
Implements BcpsTreeNode.
int BlisTreeNode::selectBranchObject | ( | BlisModel * | model, | |
bool & | foundSol, | |||
int | numPassesLeft | |||
) |
Select a branching object based on give branching strategy.
virtual int BlisTreeNode::chooseBranchingObject | ( | BcpsModel * | ) | [inline, virtual] |
To be defined.
Implements BcpsTreeNode.
Definition at line 136 of file BlisTreeNode.h.
References AlpsReturnStatusOk.
Generate constraints.
int BlisTreeNode::applyConstraints | ( | BlisModel * | model, | |
OsiCuts & | cutPool, | |||
const double * | solution | |||
) |
Select and apply constraints.
int BlisTreeNode::reducedCostFix | ( | BlisModel * | model | ) |
Fix and tighten varaibles based optimality conditions.
virtual AlpsEncoded* BlisTreeNode::encode | ( | ) | const [virtual] |
virtual AlpsKnowledge* BlisTreeNode::decode | ( | AlpsEncoded & | ) | const [virtual] |
virtual void BlisTreeNode::process | ( | ) | [private, virtual] |
void BlisTreeNode::branch | ( | AlpsTreeNode & | explicitNode | ) | [private] |
Takes the explicit description of the current active node and creates the children, adds them to the priority queue, etc.
Most likely, the node description will contain information about how the branching is to be done.
virtual bool BlisTreeNode::fathom | ( | ) | [private, virtual] |
Takes the explicit description of the current active node and decides whether or not it should be fathomed.
BlisTreeNode& BlisTreeNode::operator= | ( | const BlisTreeNode & | ) | [private] |
bool BlisTreeNode::parallel | ( | BlisModel * | model, | |
BcpsConstraintPool & | conPool, | |||
int | lastNew, | |||
BlisConstraint * | aCon | |||
) | [private] |
Check and remove parallel constraints.
double BlisTreeNode::estimateSolution | ( | BlisModel * | model, | |
const double * | lpSolution, | |||
double | lpObjValue | |||
) | const [private] |
Estimate quality of a feasible solution.
void BlisTreeNode::init | ( | ) | [inline] |
AlpsTreeNode* BlisTreeNode::createNewTreeNode | ( | AlpsNodeDesc *& | desc | ) | const [virtual] |
virtual void BlisTreeNode::convertToExplicit | ( | ) | [virtual] |
virtual void BlisTreeNode::convertToRelative | ( | ) | [virtual] |
virtual int BlisTreeNode::installSubProblem | ( | BcpsModel * | mode | ) | [virtual] |
virtual int BlisTreeNode::process | ( | bool | isRoot = false , |
|
bool | rampUp = false | |||
) | [virtual] |
virtual int BlisTreeNode::bound | ( | BcpsModel * | model | ) | [virtual] |
virtual std::vector< CoinTriple<AlpsNodeDesc*, AlpsNodeStatus, double> > BlisTreeNode::branch | ( | ) | [virtual] |
Takes the explicit description of the current active node and creates the children's descriptions, which contain information about how the branching is to be done.
The stati of the children are AlpsNodeStatusCandidate.
Implements BcpsTreeNode.
int BlisTreeNode::selectBranchObject | ( | BlisModel * | model, | |
bool & | foundSol, | |||
int | numPassesLeft | |||
) |
Select a branching object based on give branching strategy.
virtual int BlisTreeNode::chooseBranchingObject | ( | BcpsModel * | ) | [inline, virtual] |
To be defined.
Implements BcpsTreeNode.
Definition at line 139 of file BlisTreeNode.h.
References AlpsReturnStatusOk.
int BlisTreeNode::generateConstraints | ( | BlisModel * | model, | |
BcpsConstraintPool & | conPool | |||
) |
Generate constraints.
int BlisTreeNode::callHeuristics | ( | BlisModel * | model, | |
bool | onlyBeforeRoot = false | |||
) |
Call heuristic to search solutions.
0: no solution; 1: found solutions; 2: fathom this node. onlyBeforeRoot is for heuristics like feasibility pump.
void BlisTreeNode::getViolatedConstraints | ( | BlisModel * | model, | |
const double * | currLpSolution, | |||
BcpsConstraintPool & | conPool | |||
) |
Get violated constraints.
BlisReturnStatus BlisTreeNode::applyConstraints | ( | BlisModel * | model, | |
const double * | solution, | |||
BcpsConstraintPool & | conPool | |||
) |
Select and apply constraints.
BlisReturnStatus BlisTreeNode::reducedCostFix | ( | BlisModel * | model | ) |
Fix and tighten varaibles based optimality conditions.
virtual AlpsEncoded* BlisTreeNode::encode | ( | ) | const [virtual] |
virtual AlpsKnowledge* BlisTreeNode::decode | ( | AlpsEncoded & | ) | const [virtual] |