Generated on Sun Feb 17 15:25:24 2019 for Gecode by doxygen 1.6.3

Gecode::Int::GCC Namespace Reference

Global cardinality propagators (Counting). More...

Classes

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 $ x_i $ $ x_j$ according to the ascending order of the views upper bounds. More...
class  MinInc
 Compares two indices i, j of two views $ x_i $ $ x_j$ according to the ascending order of the views lower bounds. More...
class  MinIdx
 Compares two cardinality views $ x_i $ $ x_j$ according to the index. 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  Node
 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 $ e(x,v) $ in the variable-value-graph. More...
class  VarValGraph
 Variable-value-graph used during propagation. More...
class  CardLess
 Sort by increasing cardinality More...
class  CardConst
 Constant view containing lower and upper cardinality bounds. More...
class  CardView
 Cardinality integer view. More...
class  Val
 Value consistent global cardinality propagator. More...
class  Bnd
 Bounds consistent global cardinality propagator. More...
class  Dom
 Domain consistent global cardinality propagator. More...

Enumerations

enum  BC { UBC = 1, LBC = 0 }
 

Bounds constraint (BC) type.

More...

Functions

template<class Card >
ExecStatus prop_card (Space &home, ViewArray< IntView > &x, ViewArray< Card > &k)
 Bounds consistency check for cardinality variables.
template<class Card >
bool card_consistent (ViewArray< IntView > &x, ViewArray< Card > &k)
 Consistency check, whether the cardinality values are feasible.
template<class Card >
ExecStatus postSideConstraints (Home home, ViewArray< IntView > &x, ViewArray< Card > &k)
 Post side constraints for the GCC.
template<class Card >
bool isDistinct (ViewArray< IntView > &x, ViewArray< Card > &k)
 Check if GCC is equivalent to distinct.
template<class Card >
ExecStatus prop_val (Space &home, Propagator &p, ViewArray< IntView > &x, ViewArray< Card > &k)
template<class T >
bool lookupValue (T &a, int v, int &i)
 Return index of v in array a.

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.

Detailed Description

Global cardinality propagators (Counting).


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

Enumerator:
UBC 
LBC 

Definition at line 48 of file dom-sup.hpp.


Function Documentation

void Gecode::Int::GCC::pathset_ps ( HallInfo  hall[],
int  start,
int  end,
int  to 
) [inline]

Path compression for potentially stable set structure.

Definition at line 507 of file bnd-sup.hpp.

void Gecode::Int::GCC::pathset_s ( HallInfo  hall[],
int  start,
int  end,
int  to 
) [inline]

Path compression for stable set structure.

Definition at line 515 of file bnd-sup.hpp.

void Gecode::Int::GCC::pathset_t ( HallInfo  hall[],
int  start,
int  end,
int  to 
) [inline]

Path compression for capacity pointer structure.

Definition at line 523 of file bnd-sup.hpp.

void Gecode::Int::GCC::pathset_h ( HallInfo  hall[],
int  start,
int  end,
int  to 
) [inline]

Path compression for hall pointer structure.

Definition at line 531 of file bnd-sup.hpp.

int Gecode::Int::GCC::pathmin_h ( const HallInfo  hall[],
int  i 
) [inline]

Path minimum for hall pointer structure.

Definition at line 549 of file bnd-sup.hpp.

int Gecode::Int::GCC::pathmin_t ( const HallInfo  hall[],
int  i 
) [inline]

Path minimum for capacity pointer structure.

Definition at line 556 of file bnd-sup.hpp.

int Gecode::Int::GCC::pathmax_h ( const HallInfo  hall[],
int  i 
) [inline]

Path maximum for hall pointer structure.

Definition at line 572 of file bnd-sup.hpp.

int Gecode::Int::GCC::pathmax_t ( const HallInfo  hall[],
int  i 
) [inline]

Path maximum for capacity pointer structure.

Definition at line 579 of file bnd-sup.hpp.

int Gecode::Int::GCC::pathmax_s ( const HallInfo  hall[],
int  i 
) [inline]

Path maximum for stable set pointer structure.

Definition at line 587 of file bnd-sup.hpp.

int Gecode::Int::GCC::pathmax_ps ( const HallInfo  hall[],
int  i 
) [inline]

Path maximum for potentially stable set pointer structure.

Definition at line 594 of file bnd-sup.hpp.

template<class Card >
ExecStatus Gecode::Int::GCC::postSideConstraints ( Home  home,
ViewArray< IntView > &  x,
ViewArray< Card > &  k 
) [inline]

Post side constraints for the GCC.

Definition at line 60 of file post.hpp.

template<class Card >
bool Gecode::Int::GCC::isDistinct ( ViewArray< IntView > &  x,
ViewArray< Card > &  k 
) [inline]

Check if GCC is equivalent to distinct.

Definition at line 138 of file post.hpp.

template<class Card >
ExecStatus Gecode::Int::GCC::prop_val ( Space &  home,
Propagator &  p,
ViewArray< IntView > &  x,
ViewArray< Card > &  k 
) [inline]

Definition at line 92 of file val.hpp.

template<class T >
bool Gecode::Int::GCC::lookupValue ( T &  a,
int  v,
int &  i 
) [inline]

Return index of v in array a.

Definition at line 45 of file view.hpp.