Approximately solves the min clique cover problem via a greedy heuristic.
At each step, the largest clique found by the provided max clique solver is added to the clique cover. These vertices are then removed from graph and max clique is solved again. This loop continues until a clique is found which is smaller than the min clique size.
#include <drake/planning/graph_algorithms/min_clique_cover_solver_via_greedy.h>
Public Member Functions | |
MinCliqueCoverSolverViaGreedy (std::shared_ptr< MaxCliqueSolverBase > max_clique_solver, int min_clique_size=1) | |
Constructs using the given max clique solver. More... | |
MinCliqueCoverSolverViaGreedy (const MaxCliqueSolverBase &max_clique_solver, int min_clique_size=1) | |
(Deprecated.) More... | |
void | set_min_clique_size (const int min_clique_size) |
Set the minimum clique size. More... | |
int | get_min_clique_size () const |
Does not allow copy, move, or assignment | |
MinCliqueCoverSolverViaGreedy (const MinCliqueCoverSolverViaGreedy &)=delete | |
MinCliqueCoverSolverViaGreedy & | operator= (const MinCliqueCoverSolverViaGreedy &)=delete |
MinCliqueCoverSolverViaGreedy (MinCliqueCoverSolverViaGreedy &&)=delete | |
MinCliqueCoverSolverViaGreedy & | operator= (MinCliqueCoverSolverViaGreedy &&)=delete |
![]() | |
virtual | ~MinCliqueCoverSolverBase () |
std::vector< std::set< int > > | SolveMinCliqueCover (const Eigen::SparseMatrix< bool > &adjacency_matrix, bool partition=false) |
Given the adjacency matrix of an undirected graph, finds a (potentially approximate) minimum clique cover of the graph. More... | |
Additional Inherited Members | |
![]() | |
MinCliqueCoverSolverBase ()=default | |
MinCliqueCoverSolverBase (const MinCliqueCoverSolverBase &)=default | |
MinCliqueCoverSolverBase & | operator= (const MinCliqueCoverSolverBase &)=default |
MinCliqueCoverSolverBase (MinCliqueCoverSolverBase &&)=default | |
MinCliqueCoverSolverBase & | operator= (MinCliqueCoverSolverBase &&)=default |
|
delete |
|
delete |
|
explicit |
Constructs using the given max clique solver.
|
explicit |
(Deprecated.)
int get_min_clique_size | ( | ) | const |
|
delete |
|
delete |
void set_min_clique_size | ( | const int | min_clique_size | ) |
Set the minimum clique size.
Throws if this is less than 1.
min_clique_size |