Extensional constraints
[Using integer variables and constraints]
Classes | |
| class | Gecode::DFA |
| Deterministic finite automaton (DFA). More... | |
| class | Gecode::TupleSet |
| Class represeting a set of tuples. More... | |
Functions | |
| void | Gecode::extensional (Home home, const IntVarArgs &x, DFA d, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for extensional constraint described by a DFA. | |
| void | Gecode::extensional (Home home, const BoolVarArgs &x, DFA d, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for extensional constraint described by a DFA. | |
| void | Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, IntPropLevel ipl=IPL_DEF) |
Post propagator for . | |
| void | Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, bool pos, IntPropLevel ipl=IPL_DEF) |
Post propagator for or . | |
| void | Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for . | |
| void | Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, bool pos, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for or . | |
| void | Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, IntPropLevel ipl=IPL_DEF) |
Post propagator for . | |
| void | Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, bool pos, IntPropLevel ipl=IPL_DEF) |
Post propagator for or . | |
| void | Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for . | |
| void | Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, bool pos, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for or . | |
Detailed Description
Extensional constraints support different ways of how the extensionally defined relation between the variables is defined. Examples include specification by a DFA or a table.
A DFA can be defined by a regular expression, for regular expressions see the module MiniModel.
Function Documentation
| void Gecode::extensional | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| DFA | d, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Post domain consistent propagator for extensional constraint described by a DFA.
The elements of x must be a word of the language described by the DFA d.
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply. If shared occurences of variables are required, unshare should be used.
| void Gecode::extensional | ( | Home | home, | |
| const BoolVarArgs & | x, | |||
| DFA | d, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Post domain consistent propagator for extensional constraint described by a DFA.
The elements of x must be a word of the language described by the DFA d.
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply. If shared occurences of variables are required, unshare should be used.
| void Gecode::extensional | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| const TupleSet & | t, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) | [inline] |
Post propagator for
.
- Supports domain consistency (ipl = IPL_DOM, default) only.
- Throws an exception of type Int::ArgumentSizeMismatch, if x and t are of different size.
- Throws an exception of type Int::NotYetFinalized, if the tuple set t has not been finalized.
| void Gecode::extensional | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| const TupleSet & | t, | |||
| bool | pos, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Post propagator for
or
.
- If pos is true, it posts a propagator for
and otherwise for
. - Supports domain consistency (ipl = IPL_DOM, default) only.
- Throws an exception of type Int::ArgumentSizeMismatch, if x and t are of different size.
- Throws an exception of type Int::NotYetFinalized, if the tuple set t has not been finalized.
| void Gecode::extensional | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| const TupleSet & | t, | |||
| Reify | r, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) | [inline] |
Post propagator for
.
- Supports domain consistency (ipl = IPL_DOM, default) only.
- Throws an exception of type Int::ArgumentSizeMismatch, if x and t are of different size.
- Throws an exception of type Int::NotYetFinalized, if the tuple set t has not been finalized.
| void Gecode::extensional | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| const TupleSet & | t, | |||
| bool | pos, | |||
| Reify | r, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Post propagator for
or
.
- If pos is true, it posts a propagator for
and otherwise for
. - Supports domain consistency (ipl = IPL_DOM, default) only.
- Throws an exception of type Int::ArgumentSizeMismatch, if x and t are of different size.
- Throws an exception of type Int::NotYetFinalized, if the tuple set t has not been finalized.
| void Gecode::extensional | ( | Home | home, | |
| const BoolVarArgs & | x, | |||
| const TupleSet & | t, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) | [inline] |
Post propagator for
.
- Supports domain consistency (ipl = IPL_DOM, default) only.
- Throws an exception of type Int::ArgumentSizeMismatch, if x and t are of different size.
- Throws an exception of type Int::NotYetFinalized, if the tuple set t has not been finalized.
| void Gecode::extensional | ( | Home | home, | |
| const BoolVarArgs & | x, | |||
| const TupleSet & | t, | |||
| bool | pos, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Post propagator for
or
.
- If pos is true, it posts a propagator for
and otherwise for
. - Supports domain consistency (ipl = IPL_DOM, default) only.
- Throws an exception of type Int::ArgumentSizeMismatch, if x and t are of different size.
- Throws an exception of type Int::NotYetFinalized, if the tuple set t has not been finalized.
| void Gecode::extensional | ( | Home | home, | |
| const BoolVarArgs & | x, | |||
| const TupleSet & | t, | |||
| Reify | r, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) | [inline] |
Post propagator for
.
- Supports domain consistency (ipl = IPL_DOM, default) only.
- Throws an exception of type Int::ArgumentSizeMismatch, if x and t are of different size.
- Throws an exception of type Int::NotYetFinalized, if the tuple set t has not been finalized.
| void Gecode::extensional | ( | Home | home, | |
| const BoolVarArgs & | x, | |||
| const TupleSet & | t, | |||
| bool | pos, | |||
| Reify | r, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Post propagator for
or
.
- If pos is true, it posts a propagator for
and otherwise for
. - Supports domain consistency (ipl = IPL_DOM, default) only.
- Throws an exception of type Int::ArgumentSizeMismatch, if x and t are of different size.
- Throws an exception of type Int::NotYetFinalized, if the tuple set t has not been finalized.
