6 #ifndef CMR_BRANCH_UTIL_H 7 #define CMR_BRANCH_UTIL_H 27 constexpr
double LongMult = 10;
28 constexpr
double StrongMult = 100;
30 constexpr
int Cands1 = 5;
31 constexpr
int Cands2 = 2;
33 constexpr
int Lim1Min = 10;
34 constexpr
int Lim2Max = 500;
36 inline int round1_limit(
int avg_itcount)
38 return std::min(std::max(Lim1Min, 2 * avg_itcount), Lim2Max);
41 inline int round2_limit(
int avg_itcount)
43 return std::min(4 * avg_itcount, Lim2Max);
49 int large_len(
int ncount,
const std::vector<Graph::Edge> &edges);
52 double var_score(
double mult,
double v0,
double v1);
57 const std::vector<int> &indices,
58 const std::vector<double> &x,
59 const int num_return);
78 std::ostream &operator<<(std::ostream &os,
const ScoreTuple &T);
82 std::vector<ScoreTuple>
ranked_cands(
const std::vector<int> &cand_inds,
83 std::vector<LP::Estimate> &down_est,
84 std::vector<LP::Estimate> &up_est,
85 const std::vector<Graph::Edge> &edges,
86 std::vector<LP::Basis> &contra_bases,
87 double mult,
double ub,
int num_return);
Miscellaneous functions, structs/enums, and constants for LPs.
int large_len(int ncount, const std::vector< Graph::Edge > &edges)
Return a "large" edge length relative to the capacities in ecap.
Header for classes/structures/functions to work with graphs.
std::vector< int > length_weighted_cands(const std::vector< Graph::Edge > &edges, const std::vector< int > &indices, const std::vector< double > &x, const int num_return)
Get a list of candidate branch edges using fractional long edge branching.
Row and column basic statuses corresponding to some LP solution.
Definition: lp_util.hpp:76
Utility functions, macros, and structures.
Definition: branch_util.hpp:62
std::vector< ScoreTuple > ranked_cands(const std::vector< int > &cand_inds, std::vector< LP::Estimate > &down_est, std::vector< LP::Estimate > &up_est, const std::vector< Graph::Edge > &edges, std::vector< LP::Basis > &contra_bases, double mult, double ub, int num_return)
Produce a list of fixed max size containing ranked scored branching edges.
Struct for storing info from branching estimates.
Definition: lp_util.hpp:98
The namespace for this project.
Definition: abc_nodesel.hpp:20
Simple base class for storing edge of a graph as a sorted pair of nodes.
Definition: util.hpp:239
double var_score(double mult, double v0, double v1)
Rank a branching variable in terms of its down and up estimates.
Definition: branch_util.cpp:28