Blis
0.94
|
This is the class in which we are finally able to concretely define the bounding procedure. More...
#include <BlisSubTree.h>
Public Member Functions | |
BlisTreeNode () | |
Default constructor. More... | |
BlisTreeNode (BlisModel *m) | |
Useful constructor. More... | |
BlisTreeNode (AlpsNodeDesc *&desc) | |
Useful constructor. More... | |
virtual | ~BlisTreeNode () |
Destructor. More... | |
void | init () |
Initilize member data when constructing a node. More... | |
AlpsTreeNode * | createNewTreeNode (AlpsNodeDesc *&desc) const |
Create a new node based on given desc. More... | |
virtual int | installSubProblem (BcpsModel *mode) |
intall subproblem More... | |
virtual int | process (bool isRoot=false, bool rampUp=false) |
Performing the bounding operation. More... | |
virtual int | bound (BcpsModel *model) |
Bounding procedure. More... | |
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. More... | |
int | selectBranchObject (BlisModel *model, bool &foundSol, int numPassesLeft) |
Select a branching object based on give branching strategy. More... | |
virtual int | chooseBranchingObject (BcpsModel *) |
To be defined. More... | |
int | generateConstraints (BlisModel *model, BcpsConstraintPool &conPool) |
Generate constraints. More... | |
int | callHeuristics (BlisModel *model, bool onlyBeforeRoot=false) |
Call heuristic to search solutions. More... | |
void | getViolatedConstraints (BlisModel *model, const double *currLpSolution, BcpsConstraintPool &conPool) |
Get violated constraints. More... | |
BlisReturnStatus | applyConstraints (BlisModel *model, const double *solution, BcpsConstraintPool &conPool) |
Select and apply constraints. More... | |
BlisReturnStatus | reducedCostFix (BlisModel *model) |
Fix and tighten varaibles based optimality conditions. More... | |
virtual AlpsEncoded * | encode () const |
Encode this node for message passing. More... | |
virtual AlpsKnowledge * | decode (AlpsEncoded &) const |
Decode a node from an encoded object. More... | |
virtual AlpsEncoded * | encode () const |
Return constraint pool. More... | |
virtual AlpsReturnStatus | encode (AlpsEncoded *encoded) |
Return constraint pool. More... | |
virtual void | convertToExplicit () |
Convert explicit description to difference, and vise-vesa. More... | |
virtual void | convertToRelative () |
![]() | |
BcpsTreeNode () | |
virtual | ~BcpsTreeNode () |
const BcpsBranchObject * | branchObject () const |
void | setBranchObject (BcpsBranchObject *b) |
![]() | |
AlpsTreeNode () | |
virtual | ~AlpsTreeNode () |
bool | operator< (const AlpsTreeNode &compNode) |
AlpsNodeDesc * | modifyDesc () |
AlpsNodeDesc * | getDesc () const |
void | setDesc (AlpsNodeDesc *desc) |
AlpsKnowledgeBroker * | getKnowledgeBroker () const |
void | setKnowledgeBroker (AlpsKnowledgeBroker *kb) |
void | removeChild (AlpsTreeNode *&child) |
void | addChild (AlpsTreeNode *&child) |
void | removeDescendants () |
AlpsNodeStatus | getStatus () const |
void | setStatus (const AlpsNodeStatus stat) |
bool | isCandidate () const |
bool | isEvaluated () const |
bool | isPregnant () const |
bool | isBranched () const |
bool | isFathomed () const |
bool | isDiscarded () const |
bool | isActive () const |
void | setActive (const bool yesno) |
AlpsNodeIndex_t | getIndex () const |
void | setIndex (const AlpsNodeIndex_t index) |
int | getDepth () const |
void | setDepth (const int depth) |
double | getSolEstimate () const |
void | setSolEstimate (double est) |
double | getQuality () const |
void | setQuality (double quality) |
int | getNumChildren () const |
void | setNumChildren (const int numChildren) |
void | modifyNumChildren (const int s) |
AlpsTreeNode * | getChild (const int i) const |
void | setChild (const int i, AlpsTreeNode *node) |
AlpsTreeNode * | getParent () const |
void | setParent (AlpsTreeNode *parent) |
AlpsNodeIndex_t | getParentIndex () const |
void | setParentIndex (AlpsNodeIndex_t index) |
int | getExplicit () const |
void | setExplicit (int fp) |
int | getSentMark () const |
void | setSentMark (const int tf) |
AlpsNodeStatus | getStatus () const |
void | setStatus (const AlpsNodeStatus stat) |
bool | isCandidate () const |
bool | isEvaluated () const |
bool | isPregnant () const |
bool | isBranched () const |
bool | isFathomed () const |
bool | isDiscarded () const |
bool | isActive () const |
void | setActive (const bool yesno) |
AlpsNodeIndex_t | getIndex () const |
void | setIndex (const AlpsNodeIndex_t index) |
int | getDepth () const |
void | setDepth (const int depth) |
double | getSolEstimate () const |
void | setSolEstimate (double est) |
double | getQuality () const |
void | setQuality (double quality) |
int | getNumChildren () const |
void | setNumChildren (const int numChildren) |
void | modifyNumChildren (const int s) |
AlpsTreeNode * | getChild (const int i) const |
void | setChild (const int i, AlpsTreeNode *node) |
AlpsTreeNode * | getParent () const |
void | setParent (AlpsTreeNode *parent) |
AlpsNodeIndex_t | getParentIndex () const |
void | setParentIndex (AlpsNodeIndex_t index) |
int | getExplicit () const |
void | setExplicit (int fp) |
int | getSentMark () const |
void | setSentMark (const int tf) |
![]() | |
AlpsKnowledge () | |
virtual | ~AlpsKnowledge () |
KnowledgeType | getType () |
void | setType (KnowledgeType t) |
virtual AlpsReturnStatus | encode (AlpsEncoded *encoded) |
AlpsEncoded * | getEncoded () const |
void | setEncoded (AlpsEncoded *e) |
Additional Inherited Members | |
![]() | |
virtual int | generateConstraints (BcpsModel *model, BcpsConstraintPool *conPool) |
virtual int | generateVariables (BcpsModel *model, BcpsVariablePool *varPool) |
virtual int | handleBoundingStatus (int status, bool &keepOn, bool &fathomed) |
AlpsReturnStatus | encodeBcps (AlpsEncoded *encoded) const |
![]() | |
BcpsBranchObject * | branchObject_ |
![]() | |
bool | active_ |
AlpsNodeIndex_t | index_ |
int | depth_ |
double | solEstimate_ |
double | quality_ |
AlpsTreeNode * | parent_ |
AlpsNodeIndex_t | parentIndex_ |
int | numChildren_ |
AlpsTreeNode ** | children_ |
int | explicit_ |
AlpsNodeDesc * | desc_ |
AlpsNodeStatus | status_ |
AlpsKnowledgeBroker * | knowledgeBroker_ |
int | sentMark_ |
![]() | |
KnowledgeType | type_ |
This is the class in which we are finally able to concretely define the bounding procedure.
Here we can assume that we have an LP solver and that the objects are cuts and variables, etc.
Definition at line 33 of file BlisSubTree.h.
|
inline |
Default constructor.
Definition at line 79 of file BlisTreeNode.h.
|
inline |
Useful constructor.
Definition at line 85 of file BlisTreeNode.h.
|
inline |
Useful constructor.
Definition at line 91 of file BlisTreeNode.h.
|
inlinevirtual |
Destructor.
Definition at line 98 of file BlisTreeNode.h.
|
inline |
Initilize member data when constructing a node.
Definition at line 103 of file BlisTreeNode.h.
|
virtual |
Create a new node based on given desc.
Implements AlpsTreeNode.
|
virtual |
Convert explicit description to difference, and vise-vesa.
Reimplemented from AlpsTreeNode.
|
virtual |
Reimplemented from AlpsTreeNode.
|
virtual |
intall subproblem
Implements BcpsTreeNode.
|
virtual |
Performing the bounding operation.
Reimplemented from BcpsTreeNode.
|
virtual |
Bounding procedure.
Implements BcpsTreeNode.
|
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.
|
inlinevirtual |
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 |
Encode this node for message passing.
Reimplemented from AlpsKnowledge.
|
virtual |
Decode a node from an encoded object.
Reimplemented from AlpsKnowledge.
virtual AlpsEncoded * AlpsKnowledge::encode |
Return constraint pool.
Return variable pool.
virtual AlpsReturnStatus AlpsKnowledge::encode |
Return constraint pool.
Return variable pool.