|
Limbo 3.5.4
|
#include <Coloring.h>
Classes | |
| struct | EdgeHashType |
| hasher class for graph_edge_type More... | |
Public Types | |
| enum | ColorNumType { TWO = 2 , THREE = 3 , FOUR = 4 } |
| number of colors More... | |
| typedef GraphType | graph_type |
| typedef boost::graph_traits< graph_type >::vertex_descriptor | graph_vertex_type |
| typedef boost::graph_traits< graph_type >::edge_descriptor | graph_edge_type |
| typedef boost::graph_traits< graph_type >::vertex_iterator | vertex_iterator_type |
| typedef boost::graph_traits< graph_type >::edge_iterator | edge_iterator_type |
| typedef boost::graph_traits< graph_type >::adjacency_iterator | adjacency_iterator |
| typedef boost::property_traits< typenameboost::property_map< graph_type, boost::edge_weight_t >::const_type >::value_type | edge_weight_type |
| typedef boost::property_traits< typenameboost::property_map< graph_type, boost::edge_index_t >::const_type >::value_type | edge_index_type |
Public Member Functions | |
| Coloring (graph_type const &g) | |
| virtual | ~Coloring () |
| destructor | |
| virtual double | operator() () |
| virtual void | color_num (ColorNumType cn) |
| virtual void | color_num (int8_t cn) |
| virtual ColorNumType | color_num () const |
| virtual void | precolor (graph_vertex_type v, int8_t c) |
| virtual bool | has_precolored () const |
| virtual double | stitch_weight () const |
| virtual void | stitch_weight (double w) |
| virtual void | threads (int32_t t) |
| virtual int8_t | color (graph_vertex_type v) const |
| virtual edge_weight_type | edge_weight (graph_edge_type const &e) const |
| virtual edge_weight_type | calc_cost (std::vector< int8_t > const &vColor) const |
| void | check_edge_weight (graph_type const &g, edge_weight_type lb, edge_weight_type ub) const |
| void | print_edge_weight (graph_type const &g) const |
| void | depth_first_search_stitch (graph_vertex_type v, std::vector< int32_t > &stitch_relation_set, std::vector< bool > &visited, uint32_t &stitch_edge_num, int32_t stitch_index) |
| virtual void | write_graph (std::string const &filename) const |
| virtual void | write_graph (std::string const &filename, graph_type const &g, std::vector< int8_t > const &vColor) const |
Protected Member Functions | |
| virtual double | coloring ()=0 |
Protected Attributes | |
| graph_type const & | m_graph |
| initial graph | |
| std::vector< int8_t > | m_vColor |
| coloring solutions | |
| ColorNumType | m_color_num |
| number of colors | |
| double | m_stitch_weight |
| stitch weight | |
| int32_t | m_threads |
| control number of threads for ILP solver | |
| bool | m_has_precolored |
| whether contain precolored vertices | |
| int32_t | m_stitch_index |
| int32_t | m_big_edge_num |
| std::vector< int32_t > | m_stitch_relation_set |
| std::vector< int32_t > | m_edge_index_vector |
Base class for all coloring algorithms.
All coloring algorithms support 3 and 4 colors.
| GraphType | graph type |
Definition at line 114 of file Coloring.h.
| typedef boost::graph_traits<graph_type>::adjacency_iterator limbo::algorithms::coloring::Coloring< GraphType >::adjacency_iterator |
Definition at line 123 of file Coloring.h.
| typedef boost::property_traits<typenameboost::property_map<graph_type,boost::edge_index_t>::const_type>::value_type limbo::algorithms::coloring::Coloring< GraphType >::edge_index_type |
Definition at line 129 of file Coloring.h.
| typedef boost::graph_traits<graph_type>::edge_iterator limbo::algorithms::coloring::Coloring< GraphType >::edge_iterator_type |
Definition at line 122 of file Coloring.h.
| typedef boost::property_traits<typenameboost::property_map<graph_type,boost::edge_weight_t>::const_type>::value_type limbo::algorithms::coloring::Coloring< GraphType >::edge_weight_type |
Definition at line 125 of file Coloring.h.
| typedef boost::graph_traits<graph_type>::edge_descriptor limbo::algorithms::coloring::Coloring< GraphType >::graph_edge_type |
Definition at line 120 of file Coloring.h.
| typedef GraphType limbo::algorithms::coloring::Coloring< GraphType >::graph_type |
Definition at line 118 of file Coloring.h.
| typedef boost::graph_traits<graph_type>::vertex_descriptor limbo::algorithms::coloring::Coloring< GraphType >::graph_vertex_type |
Definition at line 119 of file Coloring.h.
| typedef boost::graph_traits<graph_type>::vertex_iterator limbo::algorithms::coloring::Coloring< GraphType >::vertex_iterator_type |
Definition at line 121 of file Coloring.h.
| enum limbo::algorithms::coloring::Coloring::ColorNumType |
number of colors
Definition at line 134 of file Coloring.h.
| limbo::algorithms::coloring::Coloring< GraphType >::Coloring | ( | graph_type const & | g | ) |
|
inlinevirtual |
destructor
Definition at line 159 of file Coloring.h.
|
virtual |
compute cost of coloring solutions
| vColor | coloring solutions |
Definition at line 397 of file Coloring.h.
| void limbo::algorithms::coloring::Coloring< GraphType >::check_edge_weight | ( | graph_type const & | g, |
| edge_weight_type | lb, | ||
| edge_weight_type | ub ) const |
check edge weight within lb and ub
| g | graph |
| lb | lower bound |
| ub | upper bound |
Definition at line 422 of file Coloring.h.
|
inlinevirtual |
retrieve coloring solution
| v | vertex |
Definition at line 196 of file Coloring.h.
|
inlinevirtual |
Definition at line 173 of file Coloring.h.
|
inlinevirtual |
|
inlinevirtual |
|
protectedpure virtual |
Implemented in limbo::algorithms::coloring::BacktrackColoring< GraphType >, limbo::algorithms::coloring::ILPColoring< GraphType >, limbo::algorithms::coloring::ILPColoringLemonCbc< GraphType >, limbo::algorithms::coloring::ILPColoringUpdated< GraphType >, limbo::algorithms::coloring::LPColoring< GraphType >, limbo::algorithms::coloring::MISColoring< GraphType >, and limbo::algorithms::coloring::SDPColoringCsdp< GraphType >.
| void limbo::algorithms::coloring::Coloring< GraphType >::depth_first_search_stitch | ( | graph_vertex_type | v, |
| std::vector< int32_t > & | stitch_relation_set, | ||
| std::vector< bool > & | visited, | ||
| uint32_t & | stitch_edge_num, | ||
| int32_t | stitch_index ) |
Definition at line 375 of file Coloring.h.
|
inlinevirtual |
|
inlinevirtual |
Definition at line 181 of file Coloring.h.
|
virtual |
|
inlinevirtual |
set precolored vertex
| v | vertex |
| c | color |
Reimplemented in limbo::algorithms::coloring::MISColoring< GraphType >.
Definition at line 178 of file Coloring.h.
| void limbo::algorithms::coloring::Coloring< GraphType >::print_edge_weight | ( | graph_type const & | g | ) | const |
|
inlinevirtual |
Definition at line 184 of file Coloring.h.
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
write graph in graphviz format
| filename | output file name |
|
virtual |
write graph in graphviz format
| filename | output file name |
| g | graph |
| vColor | coloring solutions |
|
protected |
Definition at line 250 of file Coloring.h.
|
protected |
number of colors
Definition at line 242 of file Coloring.h.
|
protected |
Definition at line 253 of file Coloring.h.
|
protected |
initial graph
Definition at line 239 of file Coloring.h.
|
protected |
whether contain precolored vertices
Definition at line 245 of file Coloring.h.
|
protected |
Definition at line 248 of file Coloring.h.
|
protected |
Definition at line 251 of file Coloring.h.
|
protected |
stitch weight
Definition at line 243 of file Coloring.h.
|
protected |
control number of threads for ILP solver
Definition at line 244 of file Coloring.h.
|
protected |
coloring solutions
Definition at line 240 of file Coloring.h.