14#ifndef MINOTAURMAXFREQBRANCHER_H
15#define MINOTAURMAXFREQBRANCHER_H
62 const static std::string me_;
79 HandlerVector handlers_;
97 UIntVector fracCount_;
103 UIntVector unfixedCount_;
109 void updateFracCount_();
115 void updateUnfixedCount_();
118 void findCandidates_();
Declare the base class Brancher for finding and creating branches in Branch-and-Bound.
Base class for describing candidates for branching on a node in branch-and-bound.
Definition BrCand.h:32
A brancher is used to find suitable branches for a given node. e.g. LexicoBrancher....
Definition Brancher.h:33
Definition Environment.h:28
A class to select a variable for branching using maximum-frequency branching.
Definition MaxFreqBrancher.h:29
Branches findBranches(RelaxationPtr rel, NodePtr node, ConstSolutionPtr sol, SolutionPoolPtr s_pool, BrancherStatus &br_status, ModVector &mods)
Find a branching candidate.
Definition MaxFreqBrancher.cpp:60
void writeStats(std::ostream &out) const
Write statistics to the given out stream.
Definition MaxFreqBrancher.cpp:233
~MaxFreqBrancher()
Destroy.
Definition MaxFreqBrancher.cpp:53
void initialize(RelaxationPtr rel)
Initialize data structures.
Definition MaxFreqBrancher.cpp:128
std::string getName() const
Return the name of this brancher.
Definition MaxFreqBrancher.cpp:242
virtual void updateAfterSolve(NodePtr, ConstSolutionPtr)
Update pseudo-costs after LP is solved.
Definition MaxFreqBrancher.cpp:228
Definition Relaxation.h:53
Definition SolutionPool.h:28
Definition ActiveNodeStore.h:20
BrancherStatus
What can a brancher do to a node in branch-and-bound.
Definition Types.h:193
unsigned int UInt
Unsigned integer.
Definition Types.h:30
Definition MaxFreqBrancher.h:23
double time
Number of times called to find a branching candidate.
Definition MaxFreqBrancher.h:25