Camargue
Public Member Functions | Private Member Functions | Private Attributes | List of all members
CMR::Sep::DPwitness Class Reference

Class for building miniature simple DP witness cutgraphs. More...

#include <witness.hpp>

Collaboration diagram for CMR::Sep::DPwitness:
Collaboration graph
[legend]

Public Member Functions

 DPwitness (CandidateTeeth &cands, const std::vector< int > &partition_nodes, int seed)
 Construct a mini cutgraph induced by a partition.
 
bool simple_DP_sep (CutQueue< dominoparity > &domino_q)
 Create a cutgraph and grab odd cuts from it.
 

Private Member Functions

void build_light_tree ()
 Build the tooth inequality tree.
 
void add_web_edges ()
 Add nonnegativity inequality edges.
 
void build_gh_tree ()
 Construct the Gomory-Hu tree.
 
void dfs_odd_cuts (CC_GHnode *n)
 Search tree for odd cuts.
 
void expand_cut (CC_GHnode *n, std::vector< int > &cut_nodes)
 Expand a Gomory-Hu node into a cut.
 
void grab_dominos (CutQueue< dominoparity > &domino_q)
 Get simple DP inequalities from fundamental cuts of the GH tree.
 
void grab_cuts (CutQueue< dominoparity > &domino_q)
 

Private Attributes

std::vector< std::vector< SimpleTooth > > light_teeth
 
const Data::SupportGroupsupp_dat
 
const std::vector< int > & perm
 
std::vector< SimpleTooth * > cutgraph_nodes
 
std::vector< int > cut_elist
 
std::vector< double > cut_ecap
 
std::vector< int > odd_nodes_list
 
std::vector< bool > node_marks
 
CutQueue< CC_GHnode * > CC_gh_q
 
CC_GHtree gh_tree
 
const int random_seed
 

Detailed Description

Class for building miniature simple DP witness cutgraphs.


The documentation for this class was generated from the following files: