Generated on Sat Jun 2 2018 07:17:44 for Gecode by doxygen 1.8.13

Functions

void Gecode::count (Home home, const IntVarArgs &x, int n, IntRelType irt, int m, IntPropLevel ipl=IPL_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, IntPropLevel ipl=IPL_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, IntPropLevel ipl=IPL_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, IntPropLevel ipl=IPL_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, IntPropLevel ipl=IPL_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, IntPropLevel ipl=IPL_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, IntPropLevel ipl=IPL_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, IntPropLevel ipl=IPL_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, IntPropLevel ipl=IPL_DEF)
 Posts a global count (cardinality) constraint. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntSetArgs &c, IntPropLevel ipl=IPL_DEF)
 Posts a global count (cardinality) constraint. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntVarArgs &c, const IntArgs &v, IntPropLevel ipl=IPL_DEF)
 Posts a global count (cardinality) constraint. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntSetArgs &c, const IntArgs &v, IntPropLevel ipl=IPL_DEF)
 Posts a global count (cardinality) constraint. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntSet &c, const IntArgs &v, IntPropLevel ipl=IPL_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

◆ count() [1/13]

void Gecode::count ( Home  home,
const IntVarArgs x,
int  n,
IntRelType  irt,
int  m,
IntPropLevel  ipl = IPL_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 40 of file count.cpp.

◆ count() [2/13]

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntSet y,
IntRelType  irt,
int  m,
IntPropLevel  ipl = IPL_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 134 of file count.cpp.

◆ count() [3/13]

void Gecode::count ( Home  home,
const IntVarArgs x,
IntVar  y,
IntRelType  irt,
int  m,
IntPropLevel  ipl = IPL_DEF 
)

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

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

Definition at line 82 of file count.cpp.

◆ count() [4/13]

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntArgs y,
IntRelType  irt,
int  m,
IntPropLevel  ipl = IPL_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 178 of file count.cpp.

◆ count() [5/13]

void Gecode::count ( Home  home,
const IntVarArgs x,
int  n,
IntRelType  irt,
IntVar  z,
IntPropLevel  ipl = IPL_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 222 of file count.cpp.

◆ count() [6/13]

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntSet y,
IntRelType  irt,
IntVar  z,
IntPropLevel  ipl = IPL_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 316 of file count.cpp.

◆ count() [7/13]

void Gecode::count ( Home  home,
const IntVarArgs x,
IntVar  y,
IntRelType  irt,
IntVar  z,
IntPropLevel  ipl = IPL_DEF 
)

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

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

Definition at line 264 of file count.cpp.

◆ count() [8/13]

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntArgs y,
IntRelType  irt,
IntVar  z,
IntPropLevel  ipl = IPL_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 365 of file count.cpp.

◆ count() [9/13]

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntVarArgs c,
IntPropLevel  ipl = IPL_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 (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).

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

Definition at line 135 of file gcc.cpp.

◆ count() [10/13]

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntSetArgs c,
IntPropLevel  ipl = IPL_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 (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).

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

Definition at line 211 of file gcc.cpp.

◆ count() [11/13]

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntVarArgs c,
const IntArgs v,
IntPropLevel  ipl = IPL_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 (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_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 99 of file gcc.cpp.

◆ count() [12/13]

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntSetArgs c,
const IntArgs v,
IntPropLevel  ipl = IPL_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 (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_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 144 of file gcc.cpp.

◆ count() [13/13]

void Gecode::count ( Home  home,
const IntVarArgs x,
const IntSet c,
const IntArgs v,
IntPropLevel  ipl = IPL_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 (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_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 219 of file gcc.cpp.