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

◆ violator_strategy()

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

◆ ~violator_strategy()

virtual tu::detail::violator_strategy::~violator_strategy ( )
inlinevirtual

Destructor

Member Function Documentation

◆ create_matrix()

void tu::detail::violator_strategy::create_matrix ( submatrix_indices indices) const
inline

◆ search()

virtual void tu::detail::violator_strategy::search ( )
pure virtual

◆ shrink()

virtual void tu::detail::violator_strategy::shrink ( const matroid_element_set row_elements,
const matroid_element_set column_elements 
)
inlineprotectedvirtual

◆ test()

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.

◆ test_forbidden()

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

Setup rows and columns

Member Data Documentation

◆ _column_elements

matroid_element_set tu::detail::violator_strategy::_column_elements
protected

◆ _input_matrix

const integer_matrix& tu::detail::violator_strategy::_input_matrix
protected

◆ _log

logger& tu::detail::violator_strategy::_log
protected

◆ _row_elements

matroid_element_set tu::detail::violator_strategy::_row_elements
protected

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