40#ifndef __GECODE_INT_GCC_HH__
41#define __GECODE_INT_GCC_HH__
Home class for posting propagators
PartialSum< Card > ups
Data structure storing the sum of the views upper bounds.
Bnd(Space &home, Bnd< Card > &p)
Constructor for cloning p.
bool skip_lbc
Stores whether the minium required occurences of the cardinalities are all zero. If so,...
static ExecStatus post(Home home, ViewArray< IntView > &x, ViewArray< Card > &k)
Post propagator for views x and cardinalities k.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
ViewArray< Card > k
Array containing either fixed cardinalities or CardViews.
ExecStatus ubc(Space &home, int &nb, HallInfo hall[], Rank rank[], int mu[], int nu[])
Upper Bounds constraint (UBC) stating Hence the ubc constraints the variables such that no value oc...
ExecStatus pruneCards(Space &home)
Prune cardinality variables with 0 maximum occurrence.
bool card_fixed
Stores whether cardinalities are all assigned.
ViewArray< IntView > y
Views on which to perform value-propagation (subset of x)
virtual size_t dispose(Space &home)
Destructor.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual void reschedule(Space &home)
Schedule function.
ViewArray< IntView > x
Views on which to perform bounds-propagation.
PartialSum< Card > lps
Data structure storing the sum of the views lower bounds Necessary for reasoning about the interval c...
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost funtion.
ExecStatus lbc(Space &home, int &nb, HallInfo hall[], Rank rank[], int mu[], int nu[])
Lower Bounds constraint (LBC) stating Hence the lbc constraints the variables such that every value...
bool card_fixed
Stores whether cardinalities are all assigned.
virtual size_t dispose(Space &home)
Destructor.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
VarValGraph< Card > * vvg
Propagation is performed on a variable-value graph (used as cache)
virtual Actor * copy(Space &home)
Copy propagator during cloning.
ViewArray< IntView > y
Views used to channel information between x and k ( ).
ViewArray< IntView > x
Views on which to perform domain-propagation.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
Dom(Space &home, Dom< Card > &p)
Constructor for cloning p.
ViewArray< Card > k
Array containing either fixed cardinalities or CardViews.
virtual void reschedule(Space &home)
Schedule function.
static ExecStatus post(Home home, ViewArray< IntView > &x, ViewArray< Card > &k)
Post propagator for views x and cardinalities k.
Container class provding information about the Hall structure of the problem variables.
Partial sum structure for constant time computation of the maximal capacity of an interval.
Maps domain bounds to their position in hall[].bounds.
virtual void reschedule(Space &home)
Schedule function.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost funtion returning high linear.
static ExecStatus post(Home home, ViewArray< IntView > &x, ViewArray< Card > &k)
Post propagator for views x and cardinalities k.
ViewArray< Card > k
Array containing either fixed cardinalities or CardViews.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
ViewArray< IntView > x
Views on which to perform value-propagation.
virtual size_t dispose(Space &home)
Destructor.
Val(Home home, ViewArray< IntView > &x, ViewArray< Card > &k)
Constructor for posting.
Variable-value-graph used during propagation.
ModEventDelta med
A set of modification events (used during propagation)
Propagator(Home home)
Constructor for posting.
int ModEventDelta
Modification event deltas.
Global cardinality propagators (Counting)
Gecode toplevel namespace