1 #ifndef CMR_CUT_STRUCTS_H     2 #define CMR_CUT_STRUCTS_H    18     ex_blossom(std::vector<int> &_handle, 
int _cut_edge, 
double _val) :
    19         handle(_handle), cut_edge(_cut_edge), cut_val(_val){}
    21     std::vector<int> handle;
    31     ToothBody(
int _start, 
int _end, 
double _slack) :
    32         Segment(_start, _end), slack(_slack) {}
    40     SimpleTooth(
int _root, 
int _body_start, 
int _body_end, 
double _slack) :
    41         root(_root), body_start(_body_start), body_end(_body_end),
    45         root(_root), body_start(seg.
start), body_end(seg.
end), slack(_slack) {}
    47     using Ptr = std::unique_ptr<SimpleTooth>;
    49     int root, body_start, body_end;
    61             if (body_start == root + 1)
    63             if (body_end + 1 == root)
    68     int body_size()
 const { 
return body_end - body_start + 1; }
    69     bool body_contains(
int i)
 const { 
return body_start <= i && i <= body_end; }
    71         return root == T.root &&
    72         T.body_start <= body_start &&
    73         body_end <= T.body_end;
    87                  std::vector<int> &_degree_nodes,
    88                  std::vector<std::pair<int, int>> &_nonneg_edges) :
    89         used_teeth(_used_teeth), degree_nodes(_degree_nodes),
    90         nonneg_edges(_nonneg_edges) {}
 std::vector< int > degree_nodes
The handle of the inequality, nodes where the degree eqns are used. 
Definition: cut_structs.hpp:96
Structure for storing simple DP inequalities. 
Definition: cut_structs.hpp:84
Representing bodies of simple tooth inequalities with associated slack. 
Definition: cut_structs.hpp:29
int end
The end index of the Segment. 
Definition: util.hpp:235
std::vector< std::pair< int, int > > nonneg_edges
Edges  for which  is used. 
Definition: cut_structs.hpp:99
Utility functions, macros, and structures. 
Representing simple tooth inequalities. 
Definition: cut_structs.hpp:39
std::vector< SimpleTooth > used_teeth
Simple tooth inequalities to be aggregated to get the simple DP ineq. 
Definition: cut_structs.hpp:93
The namespace for this project. 
Definition: abc_nodesel.hpp:20
Structure for storing blossom inequalities from exact primal separation. 
Definition: cut_structs.hpp:17
Simple utility struct for storing an interval of nodes. 
Definition: util.hpp:198
int start
The start index of the Segment. 
Definition: util.hpp:234