PandA-2024.02
|
#include <clique_covering.hpp>
Public Member Functions | |
TS_based_clique_covering (bool _all_edges, unsigned int nvert) | |
constructor More... | |
void | do_clique_covering (const cc_compatibility_graphRef CG, typename boost::disjoint_sets< rank_pmap_type, pred_pmap_type > &ds, CustomUnorderedSet< C_vertex > &support, const CustomUnorderedSet< C_vertex > &all_vertices, const filter_clique< vertex_type > &fc) override |
Public Member Functions inherited from coloring_based_clique_covering< vertex_type > | |
coloring_based_clique_covering (bool _all_edges, unsigned int nvert) | |
constructor More... | |
~coloring_based_clique_covering () override=default | |
destructor More... | |
C_vertex | add_vertex (const vertex_type &element, const std::string &name) override |
add a vertex More... | |
void | add_edge (const vertex_type &src, const vertex_type &dest, int _weight) override |
add an edge More... | |
size_t | num_vertices () override |
return the number of vertices of the clique More... | |
CustomOrderedSet< vertex_type > | get_clique (unsigned int i) override |
Returns a clique. More... | |
void | build_partitions (CustomUnorderedSet< C_vertex > &support, boost::disjoint_sets< rank_pmap_type, pred_pmap_type > &ds, std::map< C_vertex, CustomOrderedSet< C_vertex >> ¤t_partitions) |
build partitions More... | |
void | exec (const filter_clique< vertex_type > &fc, check_clique< vertex_type > &) override |
Abstract method that will execute clique covering algorithm. More... | |
void | writeDot (const std::string &filename) const override |
Writes a dotty representation of the actual graph. More... | |
void | add_subpartitions (size_t, vertex_type) override |
add subpartitions over which bipartite matching can start on More... | |
void | suggest_min_resources (size_t) override |
suggest that the problem have at least a given number of resources More... | |
void | suggest_max_resources (size_t) override |
suggest that the problem have at worst no more than the given number of resources More... | |
void | min_resources (size_t) override |
specify the minimum number of resources More... | |
void | max_resources (size_t) override |
specify the maximum number of resources More... | |
Public Member Functions inherited from clique_covering< vertex_type > | |
clique_covering ()=default | |
Default constructor. More... | |
virtual | ~clique_covering ()=default |
Destructor. More... | |
Private Types | |
using | edge_descriptor = boost::graph_traits< cc_compatibility_graph >::edge_descriptor |
Private Member Functions | |
bool | is_non_compliant (C_vertex src, C_vertex tgt, const cc_compatibility_graph &subgraph, const CustomUnorderedSet< C_vertex > &all_vertices, typename boost::disjoint_sets< rank_pmap_type, pred_pmap_type > &ds, const filter_clique< vertex_type > &fc) |
bool | select_edge_start (C_vertex source, C_vertex &tgt, const cc_compatibility_graph &subgraph, const CustomUnorderedSet< C_vertex > &all_vertices, typename boost::disjoint_sets< rank_pmap_type, pred_pmap_type > &ds, const filter_clique< vertex_type > &fc) |
bool | select_edge (C_vertex &src, C_vertex &tgt, const cc_compatibility_graph &subgraph, const CustomUnorderedSet< C_vertex > &all_vertices, typename boost::disjoint_sets< rank_pmap_type, pred_pmap_type > &ds, const filter_clique< vertex_type > &fc) |
Compute the heuristics and return the best matching edge. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from clique_covering< vertex_type > | |
static refcount< clique_covering< vertex_type > > | create_solver (CliqueCovering_Algorithm solver, unsigned int nvert) |
Creates a reference to desired solver. More... | |
Protected Attributes inherited from coloring_based_clique_covering< vertex_type > | |
CustomUnorderedMap< C_vertex, vertex_type > | uv2v |
map between C_vertex and vertex_type More... | |
CustomUnorderedMap< C_vertex, std::string > | names |
name map for the C_vertex vertices More... | |
Definition at line 1224 of file clique_covering.hpp.
|
private |
Definition at line 1226 of file clique_covering.hpp.
|
inlineexplicit |
constructor
Definition at line 1373 of file clique_covering.hpp.
|
inlineoverridevirtual |
build the clique seed
remove non conformant edges
check trivial cases
Reimplemented from coloring_based_clique_covering< vertex_type >.
Definition at line 1378 of file clique_covering.hpp.
References lenet_tvm::target, and THROW_ASSERT.
|
inlineprivate |
Definition at line 1228 of file clique_covering.hpp.
References filter_clique< vertex_type >::is_filtering(), and filter_clique< vertex_type >::select_candidate_to_remove().
|
inlineprivate |
Compute the heuristics and return the best matching edge.
Definition at line 1311 of file clique_covering.hpp.
References counter, edges, max, MAX_EDGE_CONSIDERED, lenet_tvm::target, and unordered_set_intersection().
|
inlineprivate |
Definition at line 1253 of file clique_covering.hpp.
References counter, max, MAX_EDGE_CONSIDERED, lenet_tvm::target, and unordered_set_intersection().