Gecode::Int::GCC::Dom< View, Card, isView > Class Template Reference
[Integer propagators]
#include <gcc.hh>
Inherits Gecode::Propagator.
Detailed Description
template<class View, class Card, bool isView>
class Gecode::Int::GCC::Dom< View, Card, isView >
Domain-consistent global cardinality propagator.
- [Reference]
- The algorithm is taken from:
@PROCEEDINGS{improvedgcc, title = {Improved Algorithms for the Global Cardinality Constraint}, year = {2004}, volume = {3528}, address = {Toronto, Canada}, month = {September}, author = {Claude-Guy Quimper and Peter van Beek and Alejandro López-Ortiz and Alexander Golynski}, booktitle = {Proceedings of the 10th International Conference on Principles and Practice of Constraint Programming}, url = {http://ai.uwaterloo.ca/~vanbeek/publications}, }
#include "gecode/int/gcc.hh"
Definition at line 206 of file gcc.hh.
Public Member Functions | |
virtual size_t | dispose (Space *home) |
Destructor including deallocation of variable-value graph. | |
virtual void | flush (void) |
Flush variable-value graph. | |
virtual Actor * | copy (Space *home, bool share) |
Copy propagator during cloning. | |
virtual PropCost | cost (void) const |
Cost function. | |
virtual ExecStatus | propagate (Space *home) |
Perform domain propagation. | |
Static Public Member Functions | |
static ExecStatus | post (Space *home, ViewArray< View > &x, ViewArray< Card > &k, bool all) |
Post propagator for views x and cardinalities k. | |
Protected Member Functions | |
Dom (Space *home, bool share, Dom< View, Card, isView > &p) | |
Constructor for cloning p. | |
Dom (Space *home, ViewArray< View > &, ViewArray< Card > &, bool, bool) | |
Constructor for posting. | |
Protected Attributes | |
ViewArray< View > | x |
Views on which to perform domain-propagation. | |
ViewArray< View > | y |
Views used to channel information between x and k ( ). | |
ViewArray< Card > | k |
Array containing either fixed cardinalities or CardViews. | |
VarValGraph< View, Card, isView > * | vvg |
Propagation is performed on a variable-value graph (used as cache). | |
bool | card_fixed |
Stores whether cardinalities are all assigned. | |
bool | card_all |
Stores whether all values in domains of the x-views are used for cardinality reasoning or whether we only use a subset of them. |
Constructor & Destructor Documentation
|
Constructor for cloning p.
|
|
Constructor for posting.
|
Member Function Documentation
|
Destructor including deallocation of variable-value graph.
Reimplemented from Gecode::Actor. |
|
Flush variable-value graph.
Reimplemented from Gecode::Actor. |
|
Copy propagator during cloning.
Implements Gecode::Actor. |
|
Cost function.
As the propagation stronlgy depends on the domain size of the views on which propagation is performed, the propagation costs are computed as follows, where
Implements Gecode::Propagator. |
|
Perform domain propagation.
Implements Gecode::Propagator. |
|
Post propagator for views x and cardinalities k. all denotes whether the propagator uses all value occuring in the domains of the problem vies specified in x. |
Member Data Documentation
|
Views on which to perform domain-propagation.
|
|
Views used to channel information between
|
|
Array containing either fixed cardinalities or CardViews.
|
|
Propagation is performed on a variable-value graph (used as cache).
|
|
Stores whether cardinalities are all assigned. If all cardinalities are assigned the propagation algorithm only has to perform propagation for the upper bounds. |
|
Stores whether all values in domains of the x-views are used for cardinality reasoning or whether we only use a subset of them.
|
The documentation for this class was generated from the following files:
- gecode/int/gcc.hh (Revision: 3512)
- gecode/int/gcc/dom.icc (Revision: 3512)