Generated on Wed Jan 4 17:49:18 2006 for Gecode by doxygen 1.4.6

Selection constraints
[Using finite integer sets]

Collaboration diagram for Selection constraints:


Detailed Description

A selection constraint selects zero, one or more elements out of a sequence. We write $ \langle x_0,\dots, x_{n-1} \rangle $ for the sequence, and $ [y] $ for the selector variable.

Set selection constraints are closely related to the element constraint on finite domain variables.


Functions

void Gecode::selectUnion (Space *home, const SetVarArgs &x, SetVar y, SetVar z)
 Post propagator for $ z=\bigcup\langle x_0,\dots,x_{n-1}\rangle[y] $ If y is the empty set, z will also be constrained to be empty (as an empty union is empty).
void Gecode::selectInter (Space *home, const SetVarArgs &sn, SetVar s2, SetVar s1)
void Gecode::selectInterIn (Space *home, const SetVarArgs &sn, SetVar s2, SetVar s1, const IntSet &universe)
void Gecode::selectDisjoint (Space *home, const SetVarArgs &xs, SetVar y)
 Post propagator for $ \parallel\langle x_0,\dots,x_{n-1}\rangle[y] $.
void Gecode::selectSets (Space *home, const SetVarArgs &x, IntVar y, SetVar z)
 Post propagator for $ z=\langle x_0,\dots,x_{n-1}\rangle[y] $.


Function Documentation

GECODE_SET_EXPORT void Gecode::selectUnion Space *  home,
const SetVarArgs sn,
SetVar  s2,
SetVar  s1
 

Post propagator for $ z=\bigcup\langle x_0,\dots,x_{n-1}\rangle[y] $ If y is the empty set, z will also be constrained to be empty (as an empty union is empty).

Definition at line 31 of file select.cc.

GECODE_SET_EXPORT void Gecode::selectInter Space *  home,
const SetVarArgs x,
SetVar  y,
SetVar  z
 

Post propagator for $ z=\bigcap\langle x_0,\dots,x_{n-1}\rangle[y] $ using $ \mathcal{U} $ as universe

If y is empty, z will be constrained to be the universe $ \mathcal{U} $ (as an empty intersection is the universe).

Definition at line 43 of file select.cc.

GECODE_SET_EXPORT void Gecode::selectInterIn Space *  home,
const SetVarArgs x,
SetVar  y,
SetVar  z,
const IntSet &  u
 

Post propagator for $ z=\bigcap\langle x_0,\dots,x_{n-1}\rangle[y] $ using u as universe

If y is empty, z will be constrained to be the given universe u (as an empty intersection is the universe).

Definition at line 54 of file select.cc.

GECODE_SET_EXPORT void Gecode::selectDisjoint Space *  home,
const SetVarArgs sn,
SetVar  s
 

Post propagator for $ \parallel\langle x_0,\dots,x_{n-1}\rangle[y] $.

Definition at line 78 of file select.cc.

GECODE_SET_EXPORT void Gecode::selectSets Space *  home,
const SetVarArgs sn,
IntVar  i,
SetVar  s
 

Post propagator for $ z=\langle x_0,\dots,x_{n-1}\rangle[y] $.

Definition at line 64 of file select.cc.