48 BabNode(
double pruningScoreIn,
const std::vector<double>& lbdsIn,
const std::vector<double>& ubdsIn,
const int idIn,
const unsigned depthIn,
const bool holdsIncumbent):
60 BabNode(
double pruningScoreIn,
const std::vector<OptimizationVariable>& variablesIn,
const int idIn,
const unsigned depthIn,
const bool holdsIncumbent):
63 size_t nVar = variablesIn.size();
66 for (
size_t iVar = 0; iVar < nVar; iVar++) {
67 _lowerBounds[iVar] = variablesIn[iVar].get_lower_bound();
68 _upperBounds[iVar] = variablesIn[iVar].get_upper_bound();
173 out <<
"BabNode id: " << node.
get_ID() <<
", pruning score: " << node.
get_pruning_score() <<
", hold incumbent: " << str <<
"\n";
int _idNumber
Definition: babNode.h:150
void set_lower_bound(const std::vector< double > lowerBounds)
Function for setting the whole upper bound vector.
Definition: babNode.h:130
int get_ID() const
Function for querying the node ID.
Definition: babNode.h:100
friend std::ostream & operator<<(std::ostream &out, const BabNode &node)
Overloaded operator for easier output. Definition of this operator is in bab.cpp.
Definition: babNode.h:164
Class representing a node in the Branch-and-Bound tree.
Definition: babNode.h:35
BabNode()
Default constructor.
Definition: babNode.h:75
namespace holding all essentials of the babBase submodule
Definition: babBrancher.h:40
bool _holdsIncumbent
Definition: babNode.h:153
std::vector< double > get_lower_bounds() const
Function for querying the lower bounds on the optimization variables within this node.
Definition: babNode.h:90
std::vector< double > _lowerBounds
Definition: babNode.h:148
std::vector< double > _upperBounds
Definition: babNode.h:149
void set_upper_bound(const std::vector< double > upperBounds)
Function for setting the whole upper bound vector.
Definition: babNode.h:120
int get_depth() const
Function for querying the node depth.
Definition: babNode.h:105
unsigned _depth
Definition: babNode.h:151
std::ostream & operator<<(std::ostream &out, const BabNode &node)
operator << overloaded for BabNode for easier output
Definition: babNode.h:164
bool holds_incumbent() const
Function obtaining information whether the node holds the incumbent.
Definition: babNode.h:110
void set_upper_bound(const unsigned iVar, const double value)
Function for setting the whole upper bound vector.
Definition: babNode.h:125
BabNode(double pruningScoreIn, const std::vector< OptimizationVariable > &variablesIn, const int idIn, const unsigned depthIn, const bool holdsIncumbent)
Constructor for initializing a BabNode using a vector of OptimizationVariable (each of which contains...
Definition: babNode.h:60
void set_pruning_score(double pruningScoreIn)
Function for setting the pruning score within this node.
Definition: babNode.h:85
double _pruningScore
Definition: babNode.h:152
void set_lower_bound(const unsigned iVar, const double value)
Function for setting the whole upper bound vector.
Definition: babNode.h:135
std::vector< double > get_upper_bounds() const
Function for querying the upper bounds on the optimization variables within this node.
Definition: babNode.h:95
BabNode(double pruningScoreIn, const std::vector< double > &lbdsIn, const std::vector< double > &ubdsIn, const int idIn, const unsigned depthIn, const bool holdsIncumbent)
Constructor for initializing a BabNode using separate vectors containing the bounds.
Definition: babNode.h:48
double get_pruning_score() const
Function for querying the pruning score within this node.
Definition: babNode.h:80
void set_holds_incumbent(const bool holdsIncumbent)
Function for setting the _holdsIncumbent variable.
Definition: babNode.h:115