14#ifndef MINOTAURMAXVIOBRANCHER_H
15#define MINOTAURMAXVIOBRANCHER_H
57 BrCandVector gencands_;
63 HandlerVector handlers_;
66 const static std::string me_;
85 void findCandidates_(ModVector &mods,
bool &should_prune);
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-violated branching.
Definition: MaxVioBrancher.h:29
Branches findBranches(RelaxationPtr rel, NodePtr node, ConstSolutionPtr sol, SolutionPoolPtr s_pool, BrancherStatus &br_status, ModVector &mods)
Find a branching candidate.
Definition: MaxVioBrancher.cpp:55
~MaxVioBrancher()
Destroy.
Definition: MaxVioBrancher.cpp:50
virtual void updateAfterSolve(NodePtr, ConstSolutionPtr)
Update pseudo-cost/other information after branching.
Definition: MaxVioBrancher.cpp:222
std::string getName() const
Return name.
Definition: MaxVioBrancher.cpp:231
void writeStats(std::ostream &out) const
Write statistics to the given out stream.
Definition: MaxVioBrancher.cpp:224
MaxVioBrancher(EnvPtr env, HandlerVector &handlers)
Construct using an environment pointer and initialize .
Definition: MaxVioBrancher.cpp:38
Definition: Relaxation.h:53
Definition: SolutionPool.h:28
Definition: Solution.h:30
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: MaxVioBrancher.h:23
double time
Number of times called to find a branching candidate.
Definition: MaxVioBrancher.h:25