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

Vertex set structure used in tooth inequalities for domino parity cuts. More...

#include <cliq.hpp>

Public Types

using Ptr = std::shared_ptr< Tooth >
 Pointer alias declaration.
 

Public Member Functions

 Tooth ()=default
 Default construct an empty tooth.
 
 Tooth (const SimpleTooth &T, const std::vector< int > &saved_tour, const std::vector< int > &saved_perm, const std::vector< int > &current_tour)
 Construct a Tooth from a SimpleTooth.
 
const std::array< Clique, 2 > & set_pair () const
 Constant reference to the defining sets.
 
bool operator== (const Tooth &rhs) const
 Equality operator.
 

Private Attributes

std::array< Clique, 2 > sets
 Teeth are represented as a pair of Cliques for the handle and body.
 

Detailed Description

Vertex set structure used in tooth inequalities for domino parity cuts.

This class holds a tooth in the sense used by Fleischer et al. (2006) meaning two disjoint, nonempty vertex subsets whose union is not the vertex set of the graph. A tooth inequality is obtained by summing the SECs on the two sets.

Remarks
This underlying data in this class is sufficiently general to hold general teeth (i.e., for general domino parity inequalities), but for now there is only a constructor to implement simple teeth for simple domino parity inequalities, i.e., teeth where one of the sets is a singleton.

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