Cardinality constraints
[Using finite domain integers]
Collaboration diagram for Cardinality constraints:
|
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 CardVarNPCompl Qumiper et.
al. in Improved Algorithms for the Global Cardinality Constraint
Functions | |
| static synchronized void | org::gecode::Gecode.count (JavaSpace home, VarArray<?extends IntVar > x, int n, IntRelType r, int m, IntConLevel icl) |
Post propagator for . | |
| static synchronized void | org::gecode::Gecode.count (JavaSpace home, VarArray<?extends IntVar > x, int n, IntRelType r, int m) |
Post propagator for . | |
| static synchronized void | org::gecode::Gecode.count (JavaSpace home, VarArray<?extends IntVar > x, IntVar y, IntRelType r, int m, IntConLevel icl) |
Post propagator for . | |
| static synchronized void | org::gecode::Gecode.count (JavaSpace home, VarArray<?extends IntVar > x, IntVar y, IntRelType r, int m) |
Post propagator for . | |
| static synchronized void | org::gecode::Gecode.count (JavaSpace home, VarArray<?extends IntVar > x, int n, IntRelType r, IntVar z, IntConLevel icl) |
Post propagator for . | |
| static synchronized void | org::gecode::Gecode.count (JavaSpace home, VarArray<?extends IntVar > x, int n, IntRelType r, IntVar z) |
Post propagator for . | |
| static synchronized void | org::gecode::Gecode.count (JavaSpace home, VarArray<?extends IntVar > x, IntVar y, IntRelType r, IntVar z, IntConLevel icl) |
Post propagator for . | |
| static synchronized void | org::gecode::Gecode.count (JavaSpace home, VarArray<?extends IntVar > x, IntVar y, IntRelType r, IntVar z) |
Post propagator for . | |
| static synchronized void | org::gecode::Gecode.gcc (JavaSpace home, VarArray<?extends IntVar > x, int[] c, int m, int unspec_low, int unspec_up, int min, int max, IntConLevel icl) |
| Post propagator for
| |
| static synchronized void | org::gecode::Gecode.gcc (JavaSpace home, VarArray<?extends IntVar > x, int[] c, int m, int unspec, int min, int max, IntConLevel icl) |
| Post propagator for
| |
| static synchronized void | org::gecode::Gecode.gcc (JavaSpace home, VarArray<?extends IntVar > x, int lb, int ub, IntConLevel icl) |
Post propagator for . | |
| static synchronized void | org::gecode::Gecode.gcc (JavaSpace home, VarArray<?extends IntVar > x, int ub, IntConLevel icl) |
Post propagator for . | |
| static synchronized void | org::gecode::Gecode.gcc (JavaSpace home, VarArray<?extends IntVar > x, VarArray<?extends IntVar > c, int min, int max, IntConLevel icl) |
| Post propagator for
| |
| static synchronized void | org::gecode::Gecode.gcc (JavaSpace home, VarArray<?extends IntVar > x, int[] v, VarArray<?extends IntVar > c, int m, int unspec_low, int unspec_up, boolean all, int min, int max, IntConLevel icl) |
Post propagator for . | |
| static synchronized void | org::gecode::Gecode.gcc (JavaSpace home, VarArray<?extends IntVar > x, int[] v, VarArray<?extends IntVar > c, int m, int unspec, boolean all, int min, int max, IntConLevel icl) |
Post propagator for . | |
Function Documentation
| static synchronized void org.gecode.Gecode.count | ( | JavaSpace | home, | |
| VarArray<?extends IntVar > | x, | |||
| int | n, | |||
| IntRelType | r, | |||
| int | m, | |||
| IntConLevel | icl | |||
| ) | [static, inherited] |
Post propagator for
.
Supports domain-consistent propagation only.
Definition at line 1261 of file Gecode.java.
| static synchronized void org.gecode.Gecode.count | ( | JavaSpace | home, | |
| VarArray<?extends IntVar > | x, | |||
| int | n, | |||
| IntRelType | r, | |||
| int | m | |||
| ) | [static, inherited] |
Post propagator for
.
Supports domain-consistent propagation only.
Definition at line 1271 of file Gecode.java.
| static synchronized void org.gecode.Gecode.count | ( | JavaSpace | home, | |
| VarArray<?extends IntVar > | x, | |||
| IntVar | y, | |||
| IntRelType | r, | |||
| int | m, | |||
| IntConLevel | icl | |||
| ) | [static, inherited] |
Post propagator for
.
Supports domain-consistent propagation only.
Definition at line 1280 of file Gecode.java.
| static synchronized void org.gecode.Gecode.count | ( | JavaSpace | home, | |
| VarArray<?extends IntVar > | x, | |||
| IntVar | y, | |||
| IntRelType | r, | |||
| int | m | |||
| ) | [static, inherited] |
Post propagator for
.
Supports domain-consistent propagation only.
Definition at line 1289 of file Gecode.java.
| static synchronized void org.gecode.Gecode.count | ( | JavaSpace | home, | |
| VarArray<?extends IntVar > | x, | |||
| int | n, | |||
| IntRelType | r, | |||
| IntVar | z, | |||
| IntConLevel | icl | |||
| ) | [static, inherited] |
Post propagator for
.
Supports domain-consistent propagation only.
Definition at line 1298 of file Gecode.java.
| static synchronized void org.gecode.Gecode.count | ( | JavaSpace | home, | |
| VarArray<?extends IntVar > | x, | |||
| int | n, | |||
| IntRelType | r, | |||
| IntVar | z | |||
| ) | [static, inherited] |
Post propagator for
.
Supports domain-consistent propagation only.
Definition at line 1307 of file Gecode.java.
| static synchronized void org.gecode.Gecode.count | ( | JavaSpace | home, | |
| VarArray<?extends IntVar > | x, | |||
| IntVar | y, | |||
| IntRelType | r, | |||
| IntVar | z, | |||
| IntConLevel | icl | |||
| ) | [static, inherited] |
Post propagator for
.
Supports domain-consistent propagation only.
Definition at line 1316 of file Gecode.java.
| static synchronized void org.gecode.Gecode.count | ( | JavaSpace | home, | |
| VarArray<?extends IntVar > | x, | |||
| IntVar | y, | |||
| IntRelType | r, | |||
| IntVar | z | |||
| ) | [static, inherited] |
Post propagator for
.
Supports domain-consistent propagation only.
Definition at line 1325 of file Gecode.java.
| static synchronized void org.gecode.Gecode.gcc | ( | JavaSpace | home, | |
| VarArray<?extends IntVar > | x, | |||
| int[] | c, | |||
| int | m, | |||
| int | unspec_low, | |||
| int | unspec_up, | |||
| int | min, | |||
| int | max, | |||
| IntConLevel | icl | |||
| ) | [static, inherited] |
Post propagator for
.
Supports value (icl = ICL_VAL, default), bounds (icl = ICL_BND), and domain-consistency (icl = ICL_DOM).
- Exceptions:
-
Int.ArgumentSame thrown if x contains shared variables.
- Parameters:
-
x variables on which to perform propagation c specifying cardinality information as shown below m denotes the size of c unspec_low denotes the lower bound for those values not specified in c unspec_up denotes the upper bound for those values not specified in c min smallest domain value of x max largest domain value of x icl consistency level
and
the set of values represented by c. Then this progator allows sets
as well as
.
In this interface values
and their cardinality bounds have to specified such that c looks as follows (for example):
, where the value 1 may occur zero times or once, the value 2 must occur at least once at most three times and the value 10 must occur at least 4 times and at most 5 times.
Furthermore, this interface requires that
.
Definition at line 1371 of file Gecode.java.
| static synchronized void org.gecode.Gecode.gcc | ( | JavaSpace | home, | |
| VarArray<?extends IntVar > | x, | |||
| int[] | c, | |||
| int | m, | |||
| int | unspec, | |||
| int | min, | |||
| int | max, | |||
| IntConLevel | icl | |||
| ) | [static, inherited] |
Post propagator for
.
Supports value (icl = ICL_VAL, default), bounds (icl = ICL_BND), and domain-consistency (icl = ICL_DOM).
- Exceptions:
-
Int.ArgumentSame thrown if x contains shared variables.
- Parameters:
-
x variables on which to perform propagation c specifying cardinality information as shown below m denotes the size of c unspec denotes the upper bound for those values not specified in c min smallest domain value of x max largest domain value of x icl consistency level
and
the set of values represented by c. Then this interface allows to specify sets
as well as
.
In this interface values
and their cardinality bounds have to be specified such that c looks as follows (for example):
, where the value 1 may occur zero times or once, the value 2 must occur at least once at most three times and the value 10 must occur at least 4 times and at most 5 times.
Definition at line 1410 of file Gecode.java.
| static synchronized void org.gecode.Gecode.gcc | ( | JavaSpace | home, | |
| VarArray<?extends IntVar > | x, | |||
| int | lb, | |||
| int | ub, | |||
| IntConLevel | icl | |||
| ) | [static, inherited] |
Post propagator for
.
Supports value (icl = ICL_VAL, default), bounds (icl = ICL_BND), and domain-consistency (icl = ICL_DOM).
- Exceptions:
-
Int.ArgumentSame thrown if x contains shared variables.
- Parameters:
-
x variables on which to perform propagation lb denotes the lower bound for all values specified in the array c, ub denotes the upper bound for all values specified in the array c, where this interface allows only value sets
icl consistency level
Definition at line 1436 of file Gecode.java.
| static synchronized void org.gecode.Gecode.gcc | ( | JavaSpace | home, | |
| VarArray<?extends IntVar > | x, | |||
| int | ub, | |||
| IntConLevel | icl | |||
| ) | [static, inherited] |
Post propagator for
.
Supports value (icl = ICL_VAL, default), bounds (icl = ICL_BND), and domain-consistency (icl = ICL_DOM).
- Exceptions:
-
Int.ArgumentSame thrown if x contains shared variables.
- Parameters:
-
x variables on which to perform propagation ub denotes the upper bound for all values specified in the array c, where this interface allows only value sets
icl consistency level
Definition at line 1461 of file Gecode.java.
| static synchronized void org.gecode.Gecode.gcc | ( | JavaSpace | home, | |
| VarArray<?extends IntVar > | x, | |||
| VarArray<?extends IntVar > | c, | |||
| int | min, | |||
| int | max, | |||
| IntConLevel | icl | |||
| ) | [static, inherited] |
Post propagator for
.
- Parameters:
-
x variables on which to perform propagation c cardinality variables min smallest domain value of x max largest domain value of x icl consistency level
This interface requires that
.
Definition at line 1488 of file Gecode.java.
| static synchronized void org.gecode.Gecode.gcc | ( | JavaSpace | home, | |
| VarArray<?extends IntVar > | x, | |||
| int[] | v, | |||
| VarArray<?extends IntVar > | c, | |||
| int | m, | |||
| int | unspec_low, | |||
| int | unspec_up, | |||
| boolean | all, | |||
| int | min, | |||
| int | max, | |||
| IntConLevel | icl | |||
| ) | [static, inherited] |
Post propagator for
.
- Parameters:
-
x variables on which to perform propagation v containing the values connected to the cardinality variables as specified below c cardinality variables m denotes the size of v and c unspec_low denotes the lower bound for those values not specified in v and c unspec_up denotes the upper bound for those values not specified in v and c all specifies whether the propagator uses all values in the interval
min smallest domain value of x max largest domain value of x icl consistency level
This interface requires that
. If all is set to true, every value from the interval
is specified with cardinalities. Otherwise, only specified values in v are used and unspecified values may occur between unspec_low and unspec_up times.
Definition at line 1524 of file Gecode.java.
| static synchronized void org.gecode.Gecode.gcc | ( | JavaSpace | home, | |
| VarArray<?extends IntVar > | x, | |||
| int[] | v, | |||
| VarArray<?extends IntVar > | c, | |||
| int | m, | |||
| int | unspec, | |||
| boolean | all, | |||
| int | min, | |||
| int | max, | |||
| IntConLevel | icl | |||
| ) | [static, inherited] |
Post propagator for
.
- Parameters:
-
x variables on which to perform propagation v containing the values connected to the cardinality variables as specified below c cardinality variables m denotes the size of v and c unspec denotes the upper bound for those values not specified in v and c all specifies whether the propagator uses all values in the interval
min smallest domain value of x max largest domain value of x icl consistency level
This interface requires that
. If all is set to true, every value from the interval
is specified with cardinalities. Otherwise, only specified values in v are used and unspecified values may occur between 0 and unspec times.
Definition at line 1557 of file Gecode.java.
