Camargue
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Static Private Member Functions | Private Attributes | Friends | List of all members
CMR::Sep::CandidateTeeth Class Reference
Collaboration diagram for CMR::Sep::CandidateTeeth:
Collaboration graph
[legend]

Classes

struct  LinsubCBData
 

Public Types

using ToothList = std::vector< SimpleTooth::Ptr >
 
using IteratorMat = util::SquareUT< ToothList::reverse_iterator >
 

Public Member Functions

 CandidateTeeth (const LP::ActiveTour &active_tour_, Data::SupportGroup &_supp_dat)
 
void get_light_teeth ()
 
bool root_equivalent (int root, ToothBody s1, ToothBody s2) const
 
void sort_by_root ()
 
void print_tooth (const SimpleTooth &T, bool full)
 
std::string print_label (const SimpleTooth &T)
 
void profile ()
 

Static Public Member Functions

static std::pair< int, int > get_range (ToothBody s, const std::vector< int > &perm, const std::vector< Graph::AdjObj > &root_nbrs)
 Get the range of adjacency zones for a tooth body wrt a given root. More...
 
static bool root_equivalent (int root, ToothBody s1, ToothBody s2, const std::vector< int > &tour, const std::vector< int > &perm, const std::vector< Graph::Node > &nodelist)
 
static void print_tooth (const SimpleTooth &T, bool full, const std::vector< int > &tour_nodes)
 

Public Attributes

std::vector< ToothList > light_teeth
 
std::vector< std::array< int, 3 > > list_sizes
 

Static Public Attributes

static std::vector< IteratorMatseen_ranges
 

Static Private Member Functions

static void add_tooth (ToothList &teeth, std::vector< IteratorMat > &ranges, std::array< int, 3 > &sizes, int root, int body_start, int body_end, double slack, const std::vector< int > &tour, const std::vector< int > &perm, const std::vector< Graph::Node > &nodelist)
 
static int teeth_cb (double cut_val, int cut_start, int cut_end, void *u_data)
 

Private Attributes

std::vector< int > endmark
 
const LP::ActiveTouractive_tour
 
Data::SupportGroupsupp_dat
 
Timer t_all
 
Timer t_pre
 
Timer t_find
 
Timer t_sort
 

Friends

class DPwitness
 

Member Function Documentation

IntPair CMR::Sep::CandidateTeeth::get_range ( ToothBody  s,
const std::vector< int > &  perm,
const std::vector< Graph::AdjObj > &  root_nbrs 
)
static

Get the range of adjacency zones for a tooth body wrt a given root.

Parameters
rootthe root of the tooth being considered.
sthe body of the tooth being considered.
root_nbrsif nodelist is the Node vector for a support graph in AdjList format, and tour is the resident tour, this should be the vector nodelist[tour[root]].neighbors.
Returns
an IntPair indicating the adjacency zone range of s.

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