Camargue
Classes | Enumerations | Functions
CMR::Graph Namespace Reference

Classes and functions for working with graphs. More...

Classes

struct  AdjList
 Representation of a graph as an adjacency list. More...
 
struct  AdjObj
 Object used to represent adjacency in a Graph::AdjList. More...
 
class  CoreGraph
 Graph structures for the edges currently in a CoreLP::Relaxation. More...
 
struct  Edge
 Representing graph edges and costs. More...
 
struct  Node
 A vertex in a Graph::AdjList graph. More...
 

Enumerations

enum  EdgePlan { EdgePlan::Linkern, EdgePlan::Delaunay }
 Edge generation protocol to use. More...
 

Functions

void get_elist (const std::vector< Edge > &edges, std::vector< int > &elist, std::vector< int > &ecap)
 Get a node-node elist representation of a list of edges.
 
void get_elist (const vector< Edge > &edges, vector< int > &elist, vector< int > &elen)
 
vector< int > delta_inds (const vector< int > &node_list, const vector< Edge > &edges, int ncount)
 
vector< int > delta_inds (const vector< int > &node_list, const vector< int > &elist, int ncount)
 
Functions for getting cuts in a graph.

These functions take as input a graph $ G $ and a node set $ X $, returning a representation of $ \delta(X) $ in $ G $.

The returned vector delta_inds will store indices of edges in the cut wrt the input graph.

std::vector< int > delta_inds (const std::vector< int > &node_list, const std::vector< Edge > &edges, int ncount)
 Cut set node_list, with graph specified by edges with ncount nodes.
 
std::vector< int > delta_inds (const std::vector< int > &node_list, const std::vector< int > &elist, int ncount)
 As above but with node-node list elist representing graph edges.
 

Detailed Description

Classes and functions for working with graphs.

Enumeration Type Documentation

enum CMR::Graph::EdgePlan
strong

Edge generation protocol to use.

Enumerator
Linkern 

10 LK tours, with quadnearest for tiny instances.

Delaunay 

Delaunay triangulation.

Function Documentation

void CMR::Graph::get_elist ( const vector< Edge > &  edges,
vector< int > &  elist,
vector< int > &  elen 
)
Parameters
[in]edgesthe Graph edges to represent.
[out]thenode-node elist representation.
[out]theedge weights. See the implementation for the way edges correspond to entries in elist and elen.