MAiNGO
babBrancher.h File Reference

File containing definition of the Branch-and-Bound brancher class. More...

#include "babException.h"
#include "babNode.h"
#include "babOptVar.h"
#include "babTree.h"
#include "babUtils.h"
#include <functional>

Go to the source code of this file.

Classes

class  babBase::Brancher
 This class contains the logic for branching on nodes in the B&B-Tree and selecting nodes to be processed. More...
 

Namespaces

 babBase
 namespace holding all essentials of the babBase submodule
 

Functions

unsigned babBase::select_branching_dimension_absdiam (const BabNode &parentNode, const std::vector< double > &relaxationSolutionPoint, const double relaxationSolutionObjValue, const std::vector< OptimizationVariable > &globalOptimizationVars)
 Function for selecting the variable to branch on by choosing the one with the largest diameter. More...
 
unsigned babBase::select_branching_dimension_reldiam (const BabNode &parentNode, const std::vector< double > &relaxationSolutionPoint, const double relaxationSolutionObjValue, const std::vector< OptimizationVariable > &globalOptimizationVars)
 Function for selecting the variable to branch on by choosing the one with the largest diameter relative to the original one. More...
 
double babBase::relative_distance_to_closest_bound (double pointValue, double bound1, double bound2, const babBase::OptimizationVariable &variable)
 Helper function for tiebracking in branching (akin to most fractional although this is only as good as random) More...
 
double babBase::low_pruning_score_first (const BabNode &candidate, const std::vector< OptimizationVariable > &globalVars)
 Function for BFS or lowPruning Score First (default), possible choice for calculating the node selection score. More...
 
double babBase::low_id_first (const BabNode &candidate, const std::vector< OptimizationVariable > &globalVars)
 Function for Breadth-First-Search possible choice for calculating the node selection score. More...
 
double babBase::high_id_first (const BabNode &candidate, const std::vector< OptimizationVariable > &globalVars)
 Function for DFS, possible choice for calculating the node selection score. More...
 
std::pair< double, double > babBase::calculate_pseudocost_multipliers_minus_and_plus (enums::VT varType, double lowerBound, double upperBound, double branchingPoint, double relaxationSolutionPoint)
 Calculate the multiplier for calculation of pseudocosts. More...
 

Detailed Description

File containing definition of the Branch-and-Bound brancher class.

==============================================================================
© Aachener Verfahrenstechnik-Systemverfahrenstechnik, RWTH Aachen University
==============================================================================

Author
Aron Zingler, Dominik Bongartz, Jaromil Najman, Susanne Sass, Alexander Mitsos
Date
07.02.2019