Generated on Mon Aug 25 11:35:46 2008 for Gecode by doxygen 1.5.6

Intersection and partition constraints
[Using finite integer sets with complete domain representation]


Functions

void Gecode::exactly (Space *home, CpltSetVar x, IntSet &is, unsigned int c)
 Post propagator for $ |x \cap is| = c $.
void Gecode::atmost (Space *home, CpltSetVar x, IntSet &is, unsigned int c)
 Post propagator for $ 0 \leq |x \cap is| \leq c $.
void Gecode::atmost (Space *home, CpltSetVar x, CpltSetVar y, unsigned int c)
 Post propagator for $ 0 \leq |x \cap y| \leq c $.
void Gecode::atmostLex (Space *home, CpltSetVar x, CpltSetVar y, unsigned int c, CpltSetRelType lex)
 Post propagator for $ 0 \leq |x \cap y| \leq c \wedge x \sim_{lex} y$.
GECODE_CPLTSET_EXPORT void Gecode::atmostLexCard (Space *home, CpltSetVar x, CpltSetVar y, int c, CpltSetRelType lex, int d)
 Post propagator for $ 0 \leq |x \cap y| \leq c \wedge x \sim_{lex} y \wedge |x| = |y| = d$.
GECODE_CPLTSET_EXPORT void Gecode::atmostCard (Space *home, CpltSetVar x, CpltSetVar y, int c, int d)
 Post propagator for $ 0 \leq |x \cap y| \leq c \wedge |x| = |y| = d$.
GECODE_CPLTSET_EXPORT void Gecode::atmost (Space *home, CpltSetVar x, CpltSetVar y, CpltSetVar z, int c)
 Post propagator for $ x \cap y = z \wedge 0 \leq |z| \leq c $.
GECODE_CPLTSET_EXPORT void Gecode::atmostOne (Space *home, const CpltSetVarArgs &x, int c)
 Post propagator for $ |x_i \cap x_j| \leq 1 $ for all $0\leq i\neq j<|x| \wedge \forall i \in \{0, \dots, |x|-1\}: |x_i| = c $.
void Gecode::partition (Space *home, const CpltSetVarArgs &x)
 Post propagator for $ |\bigcup_{i=0}^{n-1} x_i = U $.
void Gecode::partition (Space *home, const CpltSetVarArgs &x, const CpltSetVar &y)
 Post propagator for $ |\bigcup_{i=0}^{n-1} x_i = U $.
void Gecode::partitionLex (Space *home, const CpltSetVarArgs &x, CpltSetRelType lex)
 Post propagator for $ |\bigcup_{i=0}^{n-1} x_i = U \wedge \forall i,j\in \{0, \dots, n-1\}, i\neq j: x_i \sim_{lex} x_j$.
void Gecode::partitionLexCard (Space *home, const CpltSetVarArgs &x, CpltSetRelType lex, unsigned int c)
 Post propagator for $ |\bigcup_{i=0}^{n-1} x_i = U \wedge \forall i,j\in \{0, \dots, n-1\}, i\neq j: x_i \sim_{lex} x_j \wedge \forall i \in \{0, \dots, n-1\}: |x_i| = c $.
void Gecode::partitionCard (Space *home, const CpltSetVarArgs &x, unsigned int c)
 Post propagator for $ |\bigcup_{i=0}^{n-1} x_i = U \wedge \forall i \in \{0, \dots, n-1\}: |x_i| = c $.


Function Documentation

GECODE_CPLTSET_EXPORT void Gecode::exactly ( Space *  home,
CpltSetVar  x,
IntSet &  is,
unsigned int  c 
)

Post propagator for $ |x \cap is| = c $.

Definition at line 355 of file atmost.cc.

GECODE_CPLTSET_EXPORT void Gecode::atmost ( Space *  home,
CpltSetVar  x,
IntSet &  is,
unsigned int  c 
)

Post propagator for $ 0 \leq |x \cap is| \leq c $.

Definition at line 411 of file atmost.cc.

GECODE_CPLTSET_EXPORT void Gecode::atmost ( Space *  home,
CpltSetVar  x,
CpltSetVar  y,
unsigned int  c 
)

Post propagator for $ 0 \leq |x \cap y| \leq c $.

Definition at line 428 of file atmost.cc.

GECODE_CPLTSET_EXPORT void Gecode::atmostLex ( Space *  home,
CpltSetVar  x,
CpltSetVar  y,
unsigned int  c,
CpltSetRelType  lex 
)

Post propagator for $ 0 \leq |x \cap y| \leq c \wedge x \sim_{lex} y$.

Definition at line 434 of file atmost.cc.

GECODE_CPLTSET_EXPORT void Gecode::atmostLexCard ( Space *  home,
CpltSetVar  x,
CpltSetVar  y,
int  c,
CpltSetRelType  lex,
int  d 
)

Post propagator for $ 0 \leq |x \cap y| \leq c \wedge x \sim_{lex} y \wedge |x| = |y| = d$.

GECODE_CPLTSET_EXPORT void Gecode::atmostCard ( Space *  home,
CpltSetVar  x,
CpltSetVar  y,
int  c,
int  d 
)

Post propagator for $ 0 \leq |x \cap y| \leq c \wedge |x| = |y| = d$.

GECODE_CPLTSET_EXPORT void Gecode::atmost ( Space *  home,
CpltSetVar  x,
CpltSetVar  y,
CpltSetVar  z,
int  c 
)

Post propagator for $ x \cap y = z \wedge 0 \leq |z| \leq c $.

GECODE_CPLTSET_EXPORT void Gecode::atmostOne ( Space *  home,
const CpltSetVarArgs &  x,
int  c 
)

Post propagator for $ |x_i \cap x_j| \leq 1 $ for all $0\leq i\neq j<|x| \wedge \forall i \in \{0, \dots, |x|-1\}: |x_i| = c $.

Note:
The bdd for this constraint becomes exponential with increasing universe and increasing |x|

GECODE_CPLTSET_EXPORT void Gecode::partition ( Space *  home,
const CpltSetVarArgs &  x 
)

Post propagator for $ |\bigcup_{i=0}^{n-1} x_i = U $.

Definition at line 358 of file partition.cc.

GECODE_CPLTSET_EXPORT void Gecode::partition ( Space *  home,
const CpltSetVarArgs &  x,
const CpltSetVar &  y 
)

Post propagator for $ |\bigcup_{i=0}^{n-1} x_i = U $.

Definition at line 362 of file partition.cc.

GECODE_CPLTSET_EXPORT void Gecode::partitionLex ( Space *  home,
const CpltSetVarArgs &  x,
CpltSetRelType  lex 
)

Post propagator for $ |\bigcup_{i=0}^{n-1} x_i = U \wedge \forall i,j\in \{0, \dots, n-1\}, i\neq j: x_i \sim_{lex} x_j$.

Definition at line 366 of file partition.cc.

GECODE_CPLTSET_EXPORT void Gecode::partitionLexCard ( Space *  home,
const CpltSetVarArgs &  x,
CpltSetRelType  lex,
unsigned int  c 
)

Post propagator for $ |\bigcup_{i=0}^{n-1} x_i = U \wedge \forall i,j\in \{0, \dots, n-1\}, i\neq j: x_i \sim_{lex} x_j \wedge \forall i \in \{0, \dots, n-1\}: |x_i| = c $.

Definition at line 371 of file partition.cc.

GECODE_CPLTSET_EXPORT void Gecode::partitionCard ( Space *  home,
const CpltSetVarArgs &  x,
unsigned int  c 
)

Post propagator for $ |\bigcup_{i=0}^{n-1} x_i = U \wedge \forall i \in \{0, \dots, n-1\}: |x_i| = c $.

Definition at line 377 of file partition.cc.