Generated on Wed Nov 1 15:05:18 2006 for Gecode by doxygen 1.4.5

Gecode::Int::GCC::Bnd< View, Card, isView > Class Template Reference
[Integer propagators]

#include <gcc.hh>

List of all members.


Detailed Description

template<class View, class Card, bool isView>
class Gecode::Int::GCC::Bnd< View, Card, isView >

Bounds-consistent global cardinality propagator.

[Reference]
The algorithm is taken from:
     @PROCEEDINGS{quimper-efficient,
     title     = {An Efficient Bounds Consistency Algorithm
                  for the Global Cardinality Constraint},
     year      = {2003},
     volume    = {2833},
     address   = {Kinsale, Ireland},
     month     = {September},
     author    = {Claude-Guy Quimper and Peter van Beek
                  and Alejandro López-Ortiz
                  and Alexander Golynski and Sayyed Bashir Sadjad},
     booktitle = {Proceedings of the 9th International Conference
                  on Principles and Practice of
		  Constraint Programming},
     pages     = {600--614},
     url       = {http://ai.uwaterloo.ca/~vanbeek/publications},
     }
     @TECHREPORT{quimper-efficientTR,
     author      = {Claude-Guy Quimper and Peter van Beek
                    and Alejandro López-Ortiz
                    and Alexander Golynski and
		    Sayyed Bashir Sadjad},
     title       = {An Efficient Bounds Consistency Algorithm
                    for the Global Cardinality Constraint,
		    Technical Report},
     institution = {School of Computer Science,
                    University of Waterloo, Waterloo, Canada},
     year        = {2003},
     url         = {http://ai.uwaterloo.ca/~vanbeek/publications},
     }
     
This implementation uses the code that is provided by Peter Van Beek:
http://ai.uwaterloo.ca/~vanbeek/software/software.html The code here has only been slightly modified to fit Gecode (taking idempotent/non-idempotent propagation into account) and uses a more efficient layout of datastructures (keeping the number of different arrays small).

The Bnd class is used to post the propagator and BndImp is the actual implementation taking shared variables into account.

Requires

 #include "gecode/int/gcc.hh" 

Definition at line 94 of file gcc.hh.

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.


Member Function Documentation

template<class View, class Card, bool isView>
ExecStatus Gecode::Int::GCC::Bnd< View, Card, isView >::post Space home,
ViewArray< View > &  x,
ViewArray< Card > &  k,
bool  all
[static]
 

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. Also checks whether x and k contain shared views.

Definition at line 596 of file bnd.icc.


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