Example: Clique-based graph coloring More...
Public Types | |
enum | { MODEL_NONE, MODEL_CLIQUE } |
Model variants. More... | |
enum | { BRANCH_DEGREE, BRANCH_SIZE, BRANCH_SIZE_DEGREE, BRANCH_SIZE_AFC, BRANCH_SIZE_ACTIVITY } |
Branching to use for model. More... | |
enum | { SYMMETRY_NONE, SYMMETRY_LDSB } |
Symmetry variants. More... | |
Public Member Functions | |
GraphColor (const SizeOptions &opt) | |
The actual model. More... | |
virtual IntVar | cost (void) const |
Cost function. More... | |
GraphColor (bool share, GraphColor &s) | |
Constructor for cloning s. More... | |
virtual Space * | copy (bool share) |
Copying during cloning. More... | |
virtual void | print (std::ostream &os) const |
Print the solution. More... | |
![]() | |
ScriptBase (void) | |
Default constructor. More... | |
ScriptBase (bool share, ScriptBase &e) | |
Constructor used for cloning. More... | |
virtual void | compare (const Space &, std::ostream &os) const |
Compare with s. More... | |
Related Functions | |
(Note that these are not member functions.) | |
int | main (int argc, char *argv[]) |
Main-function. More... | |
Graph specification for graph coloring | |
The edges are described by an array of integers with even number of elements, terminated by the elements -1,-1. The cliques are described by an array of integers, where the first integer gives the size of the clique, the following elements are nodes for each clique. The cliques are terminated by -1 for clique size | |
const int | g1_e [] |
First example graph: edges. More... | |
const int | g1_c [] |
First example graph: cliques. More... | |
const GraphColorSpec | g1 (200, g1_e, g1_c) |
First example graph. More... | |
const int | g2_e [] |
Second example graph: edges. More... | |
const int | g2_c [] |
Second example graph: cliques. More... | |
const GraphColorSpec | g2 (200, g2_e, g2_c) |
Second example graph. More... | |
Additional Inherited Members | |
![]() | |
static std::ostream & | select_ostream (const char *name, std::ofstream &ofs) |
Choose output stream according to name. More... | |
template<class Script , template< class > class Engine, class Options > | |
static void | run (const Options &opt, Script *s=NULL) |
Example: Clique-based graph coloring
Definition at line 315 of file graph-color.cpp.
|
inline |
The actual model.
Branching on the number of colors
Branching without symmetry breaking
Branching while considering value symmetry breaking (every permutation of color values gives equivalent solutions)
Definition at line 342 of file graph-color.cpp.
|
inline |
Constructor for cloning s.
Definition at line 418 of file graph-color.cpp.
|
inlinevirtual |
Cost function.
Definition at line 414 of file graph-color.cpp.
|
inlinevirtual |
Copying during cloning.
Definition at line 424 of file graph-color.cpp.
|
inlinevirtual |
Print the solution.
Reimplemented from Gecode::Driver::ScriptBase< BaseSpace >.
Definition at line 429 of file graph-color.cpp.
|
related |
First example graph: edges.
Definition at line 70 of file graph-color.cpp.
|
related |
First example graph: cliques.
Definition at line 122 of file graph-color.cpp.
|
related |
First example graph.
|
related |
Second example graph: edges.
Definition at line 196 of file graph-color.cpp.
|
related |
Second example graph: cliques.
Definition at line 232 of file graph-color.cpp.
|
related |
Second example graph.
|
related |
Main-function.
Definition at line 446 of file graph-color.cpp.