Generated on Sat Feb 7 2015 02:01:36 for Gecode by doxygen 1.8.9.1

Functions

void Gecode::count (Home home, const IntVarArgs &x, int n, IntRelType irt, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_{irt} m$. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType irt, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_{irt} m$. More...
 
void Gecode::count (Home home, const IntVarArgs &x, IntVar y, IntRelType irt, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_{irt} m$. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType irt, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_{irt} m$. More...
 
void Gecode::count (Home home, const IntVarArgs &x, int n, IntRelType irt, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_{irt} z$. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType irt, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_{irt} z$. More...
 
void Gecode::count (Home home, const IntVarArgs &x, IntVar y, IntRelType irt, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_{irt} z$. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType irt, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_{irt} z$. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntVarArgs &c, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntSetArgs &c, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntVarArgs &c, const IntArgs &v, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntSetArgs &c, const IntArgs &v, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntSet &c, const IntArgs &v, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint. More...
 

Detailed Description

Note
Domain consistency on the extended cardinality variables of the Global Cardinality Propagator is only obtained if they are bounds consistent, otherwise the problem of enforcing domain consistency on the cardinality variables is NP-complete as proved by Qumiper et. al. in ''Improved Algorithms for the Global Cardinality Constraint''.

Function Documentation

void Gecode::count ( Home  home,
const IntVarArgs x,
int  n,
IntRelType  irt,
int  m,
IntConLevel  icl = ICL_DEF 
)

Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_{irt} m$.

Performs domain propagation but is not domain consistent.

Definition at line 44 of file count.cpp.

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntSet y,
IntRelType  irt,
int  m,
IntConLevel  icl = ICL_DEF 
)

Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_{irt} m$.

Performs domain propagation but is not domain consistent.

Definition at line 138 of file count.cpp.

void Gecode::count ( Home  home,
const IntVarArgs x,
IntVar  y,
IntRelType  irt,
int  m,
IntConLevel  icl = ICL_DEF 
)

Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_{irt} m$.

Performs domain propagation (icl = ICL_DOM, default) and slightly less domain propagation (all other values for icl), where y is not pruned. Note that in both cases propagation is not comain consistent.

Definition at line 86 of file count.cpp.

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntArgs y,
IntRelType  irt,
int  m,
IntConLevel  icl = ICL_DEF 
)

Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_{irt} m$.

Performs domain propagation but is not domain consistent.

Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.

Definition at line 182 of file count.cpp.

void Gecode::count ( Home  home,
const IntVarArgs x,
int  n,
IntRelType  irt,
IntVar  z,
IntConLevel  icl = ICL_DEF 
)

Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_{irt} z$.

Performs domain propagation but is not domain consistent.

Definition at line 226 of file count.cpp.

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntSet y,
IntRelType  irt,
IntVar  z,
IntConLevel  icl = ICL_DEF 
)

Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_{irt} z$.

Performs domain propagation but is not domain consistent.

Definition at line 320 of file count.cpp.

void Gecode::count ( Home  home,
const IntVarArgs x,
IntVar  y,
IntRelType  irt,
IntVar  z,
IntConLevel  icl = ICL_DEF 
)

Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_{irt} z$.

Performs domain propagation (icl = ICL_DOM, default) and slightly less domain propagation (all other values for icl), where y is not pruned. Note that in both cases propagation is not comain consistent.

Definition at line 268 of file count.cpp.

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntArgs y,
IntRelType  irt,
IntVar  z,
IntConLevel  icl = ICL_DEF 
)

Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_{irt} z$.

Performs domain propagation but is not domain consistent.

Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.

Definition at line 369 of file count.cpp.

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntVarArgs c,
IntConLevel  icl = ICL_DEF 
)

Posts a global count (cardinality) constraint.

Posts the constraint that $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=j\}=c_j$ and $ \bigcup_i \{x_i\} \subseteq \{0,\ldots,|c|-1\}$ (no other value occurs).

Supports value (icl = ICL_VAL, default), bounds (icl = ICL_BND), and domain consistency (icl = ICL_DOM).

Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.

Definition at line 139 of file gcc.cpp.

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntSetArgs c,
IntConLevel  icl = ICL_DEF 
)

Posts a global count (cardinality) constraint.

Posts the constraint that $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=j\}\in c_j$ and $ \bigcup_i \{x_i\} \subseteq \{0,\ldots,|c|-1\}$ (no other value occurs).

Supports value (icl = ICL_VAL, default), bounds (icl = ICL_BND), and domain consistency (icl = ICL_DOM).

Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.

Definition at line 216 of file gcc.cpp.

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntVarArgs c,
const IntArgs v,
IntConLevel  icl = ICL_DEF 
)

Posts a global count (cardinality) constraint.

Posts the constraint that $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=v_j\}=c_j$ and $ \bigcup_i \{x_i\} \subseteq \bigcup_j \{v_j\}$ (no other value occurs).

Supports value (icl = ICL_VAL, default), bounds (icl = ICL_BND), and domain consistency (icl = ICL_DOM).

Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.

Throws an exception of type Int::ArgumentSizeMismatch, if c and v are of different size.

Definition at line 103 of file gcc.cpp.

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntSetArgs c,
const IntArgs v,
IntConLevel  icl = ICL_DEF 
)

Posts a global count (cardinality) constraint.

Posts the constraint that $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=v_j\}\in c_j$ and $ \bigcup_i \{x_i\} \subseteq \bigcup_j \{v_j\}$ (no other value occurs).

Supports value (icl = ICL_VAL, default), bounds (icl = ICL_BND), and domain consistency (icl = ICL_DOM).

Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.

Throws an exception of type Int::ArgumentSizeMismatch, if c and v are of different size.

Definition at line 148 of file gcc.cpp.

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntSet c,
const IntArgs v,
IntConLevel  icl = ICL_DEF 
)

Posts a global count (cardinality) constraint.

Posts the constraint that $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=v_j\}\in c$ and $ \bigcup_i \{x_i\} \subseteq \bigcup_j \{v_j\}$ (no other value occurs).

Supports value (icl = ICL_VAL, default), bounds (icl = ICL_BND), and domain consistency (icl = ICL_DOM).

Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.

Throws an exception of type Int::ArgumentSizeMismatch, if c and v are of different size.

Definition at line 224 of file gcc.cpp.