CMR  1.3.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
tu::detail::violator_strategy Class Referenceabstract

#include <violator_search.hpp>

Inheritance diagram for tu::detail::violator_strategy:
tu::detail::greedy_violator_strategy tu::detail::single_violator_strategy

Public Member Functions

 violator_strategy (const integer_matrix &input_matrix, const matroid_element_set &row_elements, const matroid_element_set &column_elements, logger &log)
 
virtual ~violator_strategy ()
 
virtual void search ()=0
 
void create_matrix (submatrix_indices &indices) const
 

Protected Member Functions

virtual void shrink (const matroid_element_set &row_elements, const matroid_element_set &column_elements)
 
bool test (const matroid_element_set &row_elements, const matroid_element_set &column_elements)
 
bool test_forbidden (const matroid_element_set &forbidden_elements)
 

Protected Attributes

const integer_matrix_input_matrix
 
matroid_element_set _row_elements
 
matroid_element_set _column_elements
 
logger_log
 

Constructor & Destructor Documentation

tu::detail::violator_strategy::violator_strategy ( const integer_matrix input_matrix,
const matroid_element_set row_elements,
const matroid_element_set column_elements,
logger log 
)
inline
virtual tu::detail::violator_strategy::~violator_strategy ( )
inlinevirtual

Destructor

Member Function Documentation

void tu::detail::violator_strategy::create_matrix ( submatrix_indices indices) const
inline
virtual void tu::detail::violator_strategy::search ( )
pure virtual
virtual void tu::detail::violator_strategy::shrink ( const matroid_element_set row_elements,
const matroid_element_set column_elements 
)
inlineprotectedvirtual
bool tu::detail::violator_strategy::test ( const matroid_element_set row_elements,
const matroid_element_set column_elements 
)
inlineprotected

Signing test

Remove sign from matrix

Matroid decomposition

The following part is commented because it seems to be incorrect.

bool tu::detail::violator_strategy::test_forbidden ( const matroid_element_set forbidden_elements)
inlineprotected

Setup rows and columns

Member Data Documentation

matroid_element_set tu::detail::violator_strategy::_column_elements
protected
const integer_matrix& tu::detail::violator_strategy::_input_matrix
protected
logger& tu::detail::violator_strategy::_log
protected
matroid_element_set tu::detail::violator_strategy::_row_elements
protected

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