13#ifndef MINOTAURWEAKBRANCHER_H
14#define MINOTAURWEAKBRANCHER_H
23typedef Engine* EnginePtr;
75 BrCandVector gencands_;
81 HandlerVector handlers_;
87 const static std::string me_;
113 double computeObjChange_(DoubleVector oldLb, DoubleVector oldUb);
131 void findCandidates_(
bool& should_prune);
145 double getScore_(
const double& up_score,
const double& down_score);
153 void weakBranch_(
BrCandPtr cand,
double& obj_up,
double& obj_down,
164 void writeScore_(
BrCandPtr cand,
double score,
double change_up,
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
Definition: Relaxation.h:53
Definition: SolutionPool.h:28
Definition: Solution.h:30
Definition: WeakBrancher.h:32
void updateAfterSolve(NodePtr node, ConstSolutionPtr sol)
Update pseudo-costs after LP is solved.
Definition: WeakBrancher.cpp:367
WeakBrancher(EnvPtr env, HandlerVector &handlers)
Construct using an environment pointer and handlers.
Definition: WeakBrancher.cpp:38
~WeakBrancher()
Destructor.
Definition: WeakBrancher.cpp:54
void writeStats(std::ostream &out) const
Write statistics.
Definition: WeakBrancher.cpp:378
std::string getName() const
Return the name of this brancher.
Definition: WeakBrancher.cpp:268
Branches findBranches(RelaxationPtr rel, NodePtr node, ConstSolutionPtr sol, SolutionPoolPtr s_pool, BrancherStatus &br_status, ModVector &mods)
Find a branching candidate.
Definition: WeakBrancher.cpp:115
void setProblem(ProblemPtr p)
Set problem.
Definition: WeakBrancher.cpp:282
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: WeakBrancher.h:25
double time
Number of times node was pruned by strong branching.
Definition: WeakBrancher.h:28
UInt nodePruned
Number of calls to find branching candidate.
Definition: WeakBrancher.h:27