Go to the documentation of this file.
40 #ifndef __GECODE_INT_GCC_HH__
41 #define __GECODE_INT_GCC_HH__
54 namespace Gecode {
namespace Int {
namespace GCC {
ViewArray< IntView > x
Views on which to perform value-propagation.
PartialSum< Card > ups
Data structure storing the sum of the views upper bounds.
ViewArray< IntView > y
Views used to channel information between x and k ( ).
Domain consistent global cardinality propagator.
virtual size_t dispose(Space &home)
Destructor.
Value consistent global cardinality propagator.
virtual void reschedule(Space &home)
Schedule function.
virtual size_t dispose(Space &home)
Destructor.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost funtion returning high linear.
bool card_fixed
Stores whether cardinalities are all assigned.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
bool card_fixed
Stores whether cardinalities are all assigned.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
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 occ...
Base-class for both propagators and branchers.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost funtion.
Val(Home home, ViewArray< IntView > &x, ViewArray< Card > &k)
Constructor for posting.
ViewArray< IntView > y
Views on which to perform value-propagation (subset of x)
Gecode toplevel namespace
Base-class for propagators.
static ExecStatus post(Home home, ViewArray< IntView > &x, ViewArray< Card > &k)
Post propagator for views x and cardinalities k.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, ViewArray< IntView > &x, ViewArray< Card > &k)
Post propagator for views x and cardinalities k.
Home class for posting propagators
Variable-value-graph used during propagation.
virtual void reschedule(Space &home)
Schedule function.
ModEventDelta med
A set of modification events (used during propagation)
virtual size_t dispose(Space &home)
Destructor.
Maps domain bounds to their position in hall[].bounds.
virtual void reschedule(Space &home)
Schedule function.
Dom(Space &home, Dom< Card > &p)
Constructor for cloning p.
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 ...
Bnd(Space &home, Bnd< Card > &p)
Constructor for cloning p.
ViewArray< IntView > x
Views on which to perform domain-propagation.
ExecStatus pruneCards(Space &home)
Prune cardinality variables with 0 maximum occurrence.
Container class provding information about the Hall structure of the problem variables.
ViewArray< Card > k
Array containing either fixed cardinalities or CardViews.
ViewArray< Card > k
Array containing either fixed cardinalities or CardViews.
PartialSum< Card > lps
Data structure storing the sum of the views lower bounds Necessary for reasoning about the interval c...
ViewArray< IntView > x
Views on which to perform bounds-propagation.
VarValGraph< Card > * vvg
Propagation is performed on a variable-value graph (used as cache)
bool skip_lbc
Stores whether the minium required occurences of the cardinalities are all zero. If so,...
virtual Actor * copy(Space &home)
Copy propagator during cloning.
Partial sum structure for constant time computation of the maximal capacity of an interval.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
Bounds consistent global cardinality propagator.
ViewArray< Card > k
Array containing either fixed cardinalities or CardViews.
static ExecStatus post(Home home, ViewArray< IntView > &x, ViewArray< Card > &k)
Post propagator for views x and cardinalities k.
int ModEventDelta
Modification event deltas.
int p
Number of positive literals for node type.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
virtual Actor * copy(Space &home)
Copy propagator during cloning.