Blis 0.95.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
BlisTreeNode Class Reference

This is the class in which we are finally able to concretely define the bounding procedure. More...

#include <BlisSubTree.h>

+ Inheritance diagram for BlisTreeNode:
+ Collaboration 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, 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 ()
 

Detailed Description

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 35 of file BlisSubTree.h.

Constructor & Destructor Documentation

◆ BlisTreeNode() [1/3]

BlisTreeNode::BlisTreeNode ( )
inline

Default constructor.

Definition at line 80 of file BlisTreeNode.h.

◆ BlisTreeNode() [2/3]

BlisTreeNode::BlisTreeNode ( BlisModel * m)
inline

Useful constructor.

Definition at line 86 of file BlisTreeNode.h.

◆ BlisTreeNode() [3/3]

BlisTreeNode::BlisTreeNode ( AlpsNodeDesc *& desc)
inline

Useful constructor.

Definition at line 92 of file BlisTreeNode.h.

◆ ~BlisTreeNode()

virtual BlisTreeNode::~BlisTreeNode ( )
inlinevirtual

Destructor.

Definition at line 99 of file BlisTreeNode.h.

Member Function Documentation

◆ init()

void BlisTreeNode::init ( )
inline

Initilize member data when constructing a node.

Definition at line 104 of file BlisTreeNode.h.

◆ createNewTreeNode()

AlpsTreeNode * BlisTreeNode::createNewTreeNode ( AlpsNodeDesc *& desc) const

Create a new node based on given desc.

◆ convertToExplicit()

virtual void BlisTreeNode::convertToExplicit ( )
virtual

Convert explicit description to difference, and vise-vesa.

◆ convertToRelative()

virtual void BlisTreeNode::convertToRelative ( )
virtual

◆ installSubProblem()

virtual int BlisTreeNode::installSubProblem ( BcpsModel * mode)
virtual

intall subproblem

◆ process()

virtual int BlisTreeNode::process ( bool isRoot = false,
bool rampUp = false )
virtual

Performing the bounding operation.

◆ bound()

virtual int BlisTreeNode::bound ( BcpsModel * model)
virtual

Bounding procedure.

◆ branch()

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.

◆ selectBranchObject()

int BlisTreeNode::selectBranchObject ( BlisModel * model,
bool & foundSol,
int numPassesLeft )

Select a branching object based on give branching strategy.

◆ chooseBranchingObject()

virtual int BlisTreeNode::chooseBranchingObject ( BcpsModel * )
inlinevirtual

To be defined.

Definition at line 140 of file BlisTreeNode.h.

◆ generateConstraints()

int BlisTreeNode::generateConstraints ( BlisModel * model,
BcpsConstraintPool & conPool )

Generate constraints.

◆ callHeuristics()

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.

◆ getViolatedConstraints()

void BlisTreeNode::getViolatedConstraints ( BlisModel * model,
const double * currLpSolution,
BcpsConstraintPool & conPool )

Get violated constraints.

◆ applyConstraints()

BlisReturnStatus BlisTreeNode::applyConstraints ( BlisModel * model,
const double * solution,
BcpsConstraintPool & conPool )

Select and apply constraints.

◆ reducedCostFix()

BlisReturnStatus BlisTreeNode::reducedCostFix ( BlisModel * model)

Fix and tighten varaibles based optimality conditions.

◆ encode()

virtual AlpsEncoded * BlisTreeNode::encode ( ) const
virtual

Encode this node for message passing.

◆ decode()

virtual AlpsKnowledge * BlisTreeNode::decode ( AlpsEncoded & ) const
virtual

Decode a node from an encoded object.


The documentation for this class was generated from the following files: