Generated on Fri Mar 20 15:56:40 2015 for Gecode by doxygen 1.6.3

GraphColor Class Reference
[Example scripts (models)]

Example: Clique-based graph coloring More...

List of all members.

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.
virtual IntVar cost (void) const
 Cost function.
 GraphColor (bool share, GraphColor &s)
 Constructor for cloning s.
virtual Spacecopy (bool share)
 Copying during cloning.
virtual void print (std::ostream &os) const
 Print the solution.

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.
const int g1_c []
 First example graph: cliques.
const GraphColorSpec g1 (200, g1_e, g1_c)
 First example graph.
const int g2_e []
 Second example graph: edges.
const int g2_c []
 Second example graph: cliques.
const GraphColorSpec g2 (200, g2_e, g2_c)
 Second example graph.

Detailed Description

Example: Clique-based graph coloring

Definition at line 315 of file graph-color.cpp.


Member Enumeration Documentation

anonymous enum

Model variants.

Enumerator:
MODEL_NONE 

No lower bound.

MODEL_CLIQUE 

Use maximal clique size as lower bound.

Definition at line 324 of file graph-color.cpp.

anonymous enum

Branching to use for model.

Enumerator:
BRANCH_DEGREE 

Choose variable with largest degree.

BRANCH_SIZE 

Choose variable with smallest size.

BRANCH_SIZE_DEGREE 

Choose variable with smallest size/degree.

BRANCH_SIZE_AFC 

Choose variable with smallest size/afc.

BRANCH_SIZE_ACTIVITY 

Choose variable with smallest size/activity.

Definition at line 329 of file graph-color.cpp.

anonymous enum

Symmetry variants.

Enumerator:
SYMMETRY_NONE 

Simple symmetry.

SYMMETRY_LDSB 

Use LDSB for value symmetry breaking.

Definition at line 337 of file graph-color.cpp.


Constructor & Destructor Documentation

GraphColor::GraphColor ( const SizeOptions opt  )  [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.

GraphColor::GraphColor ( bool  share,
GraphColor s 
) [inline]

Constructor for cloning s.

Definition at line 419 of file graph-color.cpp.


Member Function Documentation

virtual IntVar GraphColor::cost ( void   )  const [inline, virtual]

Cost function.

Definition at line 415 of file graph-color.cpp.

virtual Space* GraphColor::copy ( bool  share  )  [inline, virtual]

Copying during cloning.

Definition at line 425 of file graph-color.cpp.

virtual void GraphColor::print ( std::ostream &  os  )  const [inline, virtual]

Print the solution.

Reimplemented from Gecode::Driver::ScriptBase< BaseSpace >.

Definition at line 430 of file graph-color.cpp.


Friends And Related Function Documentation

const int g1_e[] [related]

First example graph: edges.

Definition at line 70 of file graph-color.cpp.

const int g1_c[] [related]

First example graph: cliques.

Definition at line 122 of file graph-color.cpp.

const GraphColorSpec g1(200, g1_e, g1_c) [related]

First example graph.

const int g2_e[] [related]

Second example graph: edges.

Definition at line 196 of file graph-color.cpp.

const int g2_c[] [related]

Second example graph: cliques.

Definition at line 232 of file graph-color.cpp.

const GraphColorSpec g2(200, g2_e, g2_c) [related]

Second example graph.


The documentation for this class was generated from the following file: