Global cardinality propagators.
|
Classes |
| class | SharingTest |
| | Sharing test for the bounds-consistent global cardinality propagator. More...
|
| class | SharingTest< IntView, OccurBndsView > |
| | Specialization of class SharingTest for the case of fixed cardinalities using IntView as View1 and OccurBndsView as View2. More...
|
| class | UnReachable |
| | Class for computing unreachable values in the value GCC propagator. More...
|
| class | Rank |
| | Maps domain bounds to their position in hall[].bounds. More...
|
| class | MaxInc |
| | Compares two indices i, j of two views according to the ascending order of the views upper bounds. More...
|
| class | MinInc |
| | Compares two indices i, j of two views according to the ascending order of the views lower bounds. More...
|
| 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 in the variable-value-graph. More...
|
| class | VarValGraph |
| | Variable-value-graph used during propagation. More...
|
| class | OccurBndsView |
| | Tuple conataining the lower and upper cardinality bounds. More...
|
| class | CardView |
| | Card integer view. More...
|
| class | Bnd |
| | Bounds-consistent global cardinality propagator. More...
|
| class | BndImp |
| | Implementation of the bounds consistent global cardinality propagator. More...
|
| class | Dom |
| | Domain-consistent global cardinality propagator. More...
|
| class | Val |
| | Value consistent global cardinality propagator. More...
|
GCC-Bnd-Support |
| template<class View, class Card, bool shared> |
| ExecStatus | prop_card (Space *home, ViewArray< View > &x, ViewArray< Card > &k, bool &mod) |
| | Bounds consistency check for cardinality variables.
|
| template<class View, class Card> |
| bool | card_consistent (int &smin, int &smax, ViewArray< View > &x, ViewArray< Card > &k, bool &all) |
| | Consistency check, whether the cardinality values are feasible.
|
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 isView, bool shared> |
| ExecStatus | prop_bnd (Space *home, ViewArray< View > &x, ViewArray< Card > &k, PartialSum< Card > *&lps, PartialSum< Card > *&ups, bool card_fixed, bool card_all, bool nolbc) |
| | Performs bounds-consistent global cardinality propagation.
|
| template<class Card> |
| void | reduce_card (int cmin, int cmax, ViewArray< Card > &k) |
| | Assert consistency in the cardinality specification for bounds propagation.
|
| std::ostream & | operator<< (std::ostream &os, VarNode *v) |
| | Debugging: print a variable node.
|
| std::ostream & | operator<< (std::ostream &os, ValNode *v) |
| | Debugging: print a value node.
|
| std::ostream & | operator<< (std::ostream &os, Edge *e) |
| | Debugging: print an 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[]) |
| | Lower Bounds constraint (LBC) stating Hence the lbc constraints the variables such that every value occurs at least as often as specified by its lower cardinality bound.
|
| std::ostream & | operator<< (std::ostream &os, OccurBndsView &xs) |
| | Debugging: print a fixed cardinality.
|
| template<class T> |
| int | lookupValue (T &a, int v) |
| | Return the index of v in the array.
|
| 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 Hence the ubc constraints the variables such that no value occurs more often than specified by its upper cardinality bound.
|
| template<class View, class Card, bool isView> |
| ExecStatus | prop_val (Space *home, ViewArray< View > &x, ViewArray< Card > &k, bool &_cardall) |
| | Performs value-consistent global cardinality propagation.
|
| template<class Card> |
| bool | check_alldiff (int n, ViewArray< Card > &k) |
| | Check whether gcc can be rewritten to distinct.
|
| template<class View> |
| int | x_card (ViewArray< View > &x, IntConLevel icl) |
| | Compute the cardinality of the union of all variable domains in x.
|
| template<class Card, class View> |
| void | initcard (Space *home, ViewArray< View > &x, ViewArray< Card > &k, int lb, int ub, IntConLevel icl) |
| | Initialize the cardinalities for the values in k.
|
| template<class Card, class View, bool isView> |
| void | setcard (Space *home, ViewArray< View > &x, ViewArray< Card > &k, int xmin, int xmax) |
| | Reset already existing cardinalities to zero.
|
| template<class Card, bool isView> |
| ExecStatus | card_cons (Space *home, ViewArray< Card > &k, int n, bool all) |
| | Check whether the cardinalities are consistent.
|
| template<class View, class Card, bool isView> |
| void | post_template (Space *home, ViewArray< View > &x, ViewArray< Card > &k, IntConLevel &icl, bool &all) |
| | Template to post the global cardinality constraint for the different interfaces.
|