Gecode::Int::GCC Namespace Reference
Detailed Description
Global cardinality propagators.
Classes | |
class | Rank |
Maps domain bounds to their position in hall[].bounds. More... | |
class | MaxInc |
Compares two indeces i, j of two views ![]() ![]() | |
class | MinInc |
Compares two indeces i, j of two views ![]() ![]() | |
class | PartialSum |
Partial sum structure for constant time computation of the maximal capacity of an interval. More... | |
class | HallInfo |
Container class provding information about the Hall structure of the problem variables. More... | |
class | VVGNode |
Base class for nodes in the variable-value-graph. More... | |
class | VarNode |
Variable Node More... | |
class | ValNode |
Value node. More... | |
class | Edge |
Class for edges ![]() | |
class | VarValGraph |
Variable-value-graph used during propagation. More... | |
class | OccurBnds |
Tuple conataining the lower and upper cardinality bounds. More... | |
class | OccurArray |
Array of OccurBnds mimicking cardinality variables. More... | |
class | CardView |
Card integer view. More... | |
class | CardArray |
Array containing CardView and supporting lookup operation. More... | |
class | IdxView |
Card integer view. More... | |
class | Bnd |
Bounds-consistent global cardinality propagator. More... | |
class | BndImp |
Implementation of bounds-consistent global cardinality propagator. More... | |
class | Dom |
Domain-consistent global cardinality propagator. More... | |
class | Val |
Value consistent global cardinality propagator. More... | |
Path compression | |
Each of the nodes on the path from start to end becomes a direct child of to. | |
void | pathset_ps (HallInfo hall[], int start, int end, int to) |
Path compression for potentially stable set structure. | |
void | pathset_s (HallInfo hall[], int start, int end, int to) |
Path compression for stable set structure. | |
void | pathset_t (HallInfo hall[], int start, int end, int to) |
Path compression for capacity pointer structure. | |
void | pathset_h (HallInfo hall[], int start, int end, int to) |
Path compression for hall pointer structure. | |
Path minimum | |
returns the smalles reachable index starting from i | |
int | pathmin_h (const HallInfo hall[], int i) |
Path minimum for hall pointer structure. | |
int | pathmin_t (const HallInfo hall[], int i) |
Path minimum for capacity pointer structure. | |
Path maximum | |
returns the greatest reachable index starting from i | |
int | pathmax_h (const HallInfo hall[], int i) |
Path maximum for hall pointer structure. | |
int | pathmax_t (const HallInfo hall[], int i) |
Path maximum for capacity pointer structure. | |
int | pathmax_s (const HallInfo hall[], int i) |
Path maximum for stable set pointer structure. | |
int | pathmax_ps (const HallInfo hall[], int i) |
Path maximum for potentially stable set pointer structure. | |
Enumerations | |
enum | BC { UBC = 1, LBC = 0 } |
Bounds constraint (BC) type. More... | |
Functions | |
template<class View, class Card, bool shared, bool isView> | |
ExecStatus | prop_bnd (Space *home, ViewArray< View > &x, Card &k, PartialSum< Card > *lps, PartialSum< Card > *ups) |
template<class Card> | |
void | reduce_card (int cmin, int cmax, Card &k) |
Assert consistency in the cardinality specification for bounds propagation. | |
template<class View> | |
void | pview (View &v) |
Debugging: Print a View. | |
std::ostream & | operator<< (std::ostream &os, Edge *e) |
Edge. | |
template<class View, class Card, bool shared> | |
ExecStatus | lbc (Space *home, ViewArray< View > &x, int &nb, HallInfo hall[], Rank rank[], PartialSum< Card > *lps, int mu[], int nu[]) |
template<class T, unsigned int n> | |
std::ostream & | operator<< (std::ostream &os, const OccurBnds< T, n > &xy) |
template<class View, class Card, bool shared> | |
ExecStatus | ubc (Space *home, ViewArray< View > &x, int &nb, HallInfo hall[], Rank rank[], PartialSum< Card > *ups, int mu[], int nu[]) |
Upper Bounds constraint (UBC) stating ![]() | |
template<class View, class Card, bool isView> | |
ExecStatus | prop_val (Space *home, ViewArray< View > &x, Card &k) |
template<class Card> | |
bool | check_alldiff (int n, Card &k) |
Check whether gcc can be rewritten to distinct. | |
template<class View> | |
void | x_setidx (ViewArray< View > &x) |
Set the index of every variable to its initial position in x. | |
template<class View> | |
int | x_card (ViewArray< View > &x) |
Compute the cardinality of the union of all variable domains in x. | |
template<class Card, class View> | |
void | initcard (Space *home, ViewArray< View > &x, Card &k, int lb, int ub) |
Initialize the cardinalities for the values in k. | |
template<class Card, class View, bool isView> | |
void | setcard (Space *home, ViewArray< View > &x, Card &k, int xmin, int xmax) |
Reset already existing cardinalities to zero. | |
template<class Card, bool isView> | |
ExecStatus | card_cons (Space *home, Card &k, int n) |
Check whether the cardinalities are consistent. | |
template<class View, class Card, bool isView> | |
void | post_template (Space *home, ViewArray< View > &x, Card &k, IntConLevel &icl) |
Template to post the global cardinality constraint for the different interfaces. |
Enumeration Type Documentation
|
Bounds constraint (BC) type. If BC = UBC, then we argue about the Upper Bounds Constraint else we use the functions for the Lower Bounds Constraint Definition at line 50 of file graphsup.icc. |
Function Documentation
|
|
|
Path compression for potentially stable set structure.
Definition at line 417 of file gccbndsup.icc. |
|
Path compression for stable set structure.
Definition at line 427 of file gccbndsup.icc. |
|
Path compression for capacity pointer structure.
Definition at line 437 of file gccbndsup.icc. |
|
Path compression for hall pointer structure.
Definition at line 447 of file gccbndsup.icc. |
|
Path minimum for hall pointer structure.
Definition at line 465 of file gccbndsup.icc. |
|
Path minimum for capacity pointer structure.
Definition at line 472 of file gccbndsup.icc. |
|
Path maximum for hall pointer structure.
Definition at line 487 of file gccbndsup.icc. |
|
Path maximum for capacity pointer structure.
Definition at line 496 of file gccbndsup.icc. |
|
Path maximum for stable set pointer structure.
Definition at line 504 of file gccbndsup.icc. |
|
Path maximum for potentially stable set pointer structure.
Definition at line 512 of file gccbndsup.icc. |
|
Assert consistency in the cardinality specification for bounds propagation. This is done by ensuring that only those values are specified with cardinalities, which are not smaller than the smallest value of all variable domains and not greater than the greatest value of all variable domains. Definition at line 530 of file gccbndsup.icc. |
|
Debugging: Print a View.
Definition at line 26 of file graphsup.icc. |
|
Edge.
Definition at line 968 of file graphsup.icc. |
|
|
|
|
|
Upper Bounds constraint (UBC) stating
|
|
|
|
Check whether gcc can be rewritten to distinct.
If the number of available values equals |
|
Set the index of every variable to its initial position in x.
|
|
Compute the cardinality of the union of all variable domains in x.
|
|
Initialize the cardinalities for the values in k.
|
|
Reset already existing cardinalities to zero.
|
|
Check whether the cardinalities are consistent.
|
|
Template to post the global cardinality constraint for the different interfaces.
|