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

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 &x, SetVar y, SetVar z)
void Gecode::selectInterIn (Space *home, const SetVarArgs &x, SetVar y, SetVar z, const IntSet &universe)
void Gecode::selectDisjoint (Space *home, const SetVarArgs &x, SetVar y)
 Post propagator for $ \parallel\langle x_0,\dots,x_{n-1}\rangle[y] $.
void Gecode::selectSet (Space *home, const SetVarArgs &x, IntVar y, SetVar z)
 Post propagator for $ z=\langle x_0,\dots,x_{n-1}\rangle[y] $.


Function Documentation

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).

Definition at line 31 of file select.cc.

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.

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.

void Gecode::selectDisjoint Space *  home,
const SetVarArgs x,
SetVar  y
 

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

Definition at line 79 of file select.cc.

void Gecode::selectSet Space *  home,
const SetVarArgs x,
IntVar  y,
SetVar  z
 

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

Definition at line 64 of file select.cc.