Limbo
|
#include <BacktrackColoring.h>
Public Types | |
typedef Coloring< GraphType > | base_type |
typedef boost::graph_traits < graph_type > ::adjacency_iterator | adjacency_iterator_type |
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::property_traits < typename boost::property_map < graph_type, boost::edge_weight_t > ::const_type >::value_type | edge_weight_type |
enum | ColorNumType |
number of colors | |
Public Types inherited from limbo::algorithms::coloring::Coloring< GraphType > | |
enum | ColorNumType { THREE = 3, FOUR = 4 } |
number of colors | |
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::property_traits < typename boost::property_map < graph_type, boost::edge_weight_t > ::const_type >::value_type | edge_weight_type |
typedef boost::property_traits < typename boost::property_map < graph_type, boost::edge_index_t > ::const_type >::value_type | edge_index_type |
Public Member Functions | |
BacktrackColoring (graph_type const &g) | |
virtual | ~BacktrackColoring () |
destructor | |
Public Member Functions inherited from limbo::algorithms::coloring::Coloring< GraphType > | |
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 |
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 () |
double | init_coloring (vector< int8_t > &vColor) const |
void | coloring_kernel (vector< int8_t > &vBestColor, vector< int8_t > &vColor, double &best_cost, double &cur_cost, graph_vertex_type v, double cost_lb, double cost_ub) const |
Additional Inherited Members | |
Protected Attributes inherited from limbo::algorithms::coloring::Coloring< GraphType > | |
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 | |
Solve graph coloring with backtracking
GraphType | graph type |
Definition at line 28 of file BacktrackColoring.h.
|
inline |
|
protectedvirtual |
Implements limbo::algorithms::coloring::Coloring< GraphType >.
Definition at line 69 of file BacktrackColoring.h.
|
protected |
kernel function for recursive backtracking
vBestColor | best coloring solution assignment |
vColor | current coloring solution assignment |
best_cost | best cost |
cur_cost | current cost |
v | current vertex |
cost_lb | cost lower bound |
cost_ub | cost upper bound |
Definition at line 140 of file BacktrackColoring.h.
|
protected |
initial color assignment by greedy approach
vColor | array to store coloring solution |
Definition at line 117 of file BacktrackColoring.h.