5 #ifndef CMR_BASE_BRANCHER_H 6 #define CMR_BASE_BRANCHER_H 28 virtual BranchHistory::iterator
next_prob() = 0;
31 void split_prob(BranchHistory::iterator ¤t);
39 const BranchHistory &get_history() {
return branch_history; }
70 BranchHistory branch_history;
72 BranchHistory::iterator next_itr;
void do_branch(const BranchNode &B)
Branch on B, enforcing its constraint and instating its tour.
Definition: base_brancher.cpp:72
Information about the current best tour.
Definition: datagroups.hpp:154
virtual BranchHistory::iterator next_prob()=0
Return the next subproblem to be examined.
Compute branch tours for estimation and instatement, managing their edges.
Definition: branch_tour.hpp:23
Graph structures for the edges currently in a CoreLP::Relaxation.
Definition: datagroups.hpp:100
Definition: exec_branch.hpp:29
Storing TSP instance data.
Definition: datagroups.hpp:36
bool prune_btour_edges(const BranchNode &done, const BranchNode &next, const BranchNode &common_anc)
Should branch tour edges be pruned before going to the next problem.
Definition: base_brancher.cpp:131
Abstract base class for implementing a branching node selection rule.
Definition: base_brancher.hpp:20
void common_prep_next(const BranchNode &done, const BranchNode &next)
Execute variable changes if done was just done and next is next.
Definition: base_brancher.cpp:152
std::array< BranchNode, 2 > Split
Alias declaration for returning two split child problems.
Definition: branch_node.hpp:50
The namespace for this project.
Definition: abc_nodesel.hpp:20
void do_unbranch(const BranchNode &B)
Unbranch on B and all applicable ancestors to prep next problem.
Definition: base_brancher.cpp:97
Class for storing the core lp associated to a TSP instance and pivoting.
Definition: core_lp.hpp:33
Definition: branch_node.hpp:25
void split_prob(BranchHistory::iterator ¤t)
Split the current problem, adding the subproblems to branch_history.
Definition: base_brancher.cpp:36
Functions, structs/enums, and constants for branching.
virtual void enqueue_split(BranchNode::Split prob_array)=0
Adding child subproblems to branch_history.
Monitoring the active tour in the solution process.
virtual void fetch_next()=0
Set next_itr to the next subproblem to be examined.