Generated on Wed Jan 4 17:49:24 2006 for Gecode by doxygen 1.4.6

Gecode::Set::Int::ChannelVarVal Class Reference
[Set propagators]

#include <int.hh>

Inherits Gecode::Propagator.

List of all members.


Detailed Description

Propagator for channelling between variable-value-dual models

Implements channelling constraints between IntVars and SetVars. For IntVars $x_0,\dots,x_n$ and SetVars $y_0,\dots,y_m$ it propagates the constraint $x_i=j \Leftrightarrow i\in y_j$.

Can be used to implement the "channelling constraints" for disjoint with cardinalities from "Disjoint, Partition and Intersection Constraints for Set and Multiset Variables" Christian Bessiere, Emmanuel Hebrard, Brahim Hnich, Toby Walsh CP 2004

Requires

 #include "set/int.hh" 

Definition at line 151 of file int.hh.

Public Member Functions

virtual Actorcopy (Space *home, bool)
 Copy propagator during cloning.
virtual PropCost cost (void) const
 Cost function (defined as PC_QUADRATIC_LO).
virtual ~ChannelVarVal (void)
 Destructor.
virtual ExecStatus propagate (Space *home)
 Perform propagation.

Static Public Member Functions

static ExecStatus post (Space *home, ViewArray< Gecode::Int::IntView > &x, ViewArray< SetView > &y)
 Post propagator for $x_i=j \Leftrightarrow i\in y_j$.

Protected Member Functions

 ChannelVarVal (Space *home, bool share, ChannelVarVal &p)
 Constructor for cloning p.
 ChannelVarVal (Space *home, ViewArray< Gecode::Int::IntView > &, ViewArray< SetView > &)
 Constructor for posting.

Protected Attributes

ViewArray< Gecode::Int::IntViewxs
 IntViews, $x_i$ reflects which set contains element $i$.
ViewArray< SetViewys
 SetViews that are constrained to be disjoint.


Constructor & Destructor Documentation

forceinline Gecode::Set::Int::ChannelVarVal::ChannelVarVal Space home,
bool  share,
ChannelVarVal p
[protected]
 

Constructor for cloning p.

Definition at line 43 of file channelVarVal.icc.

forceinline Gecode::Set::Int::ChannelVarVal::ChannelVarVal Space home,
ViewArray< Gecode::Int::IntView > &  ,
ViewArray< SetView > & 
[protected]
 

Constructor for posting.

Definition at line 34 of file channelVarVal.icc.

Gecode::Set::Int::ChannelVarVal::~ChannelVarVal void   )  [virtual]
 

Destructor.

Definition at line 43 of file channelVarVal.cc.


Member Function Documentation

Actor * Gecode::Set::Int::ChannelVarVal::copy Space home,
bool 
[virtual]
 

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 49 of file channelVarVal.cc.

PropCost Gecode::Set::Int::ChannelVarVal::cost void   )  const [virtual]
 

Cost function (defined as PC_QUADRATIC_LO).

Implements Gecode::Propagator.

Definition at line 39 of file channelVarVal.cc.

ExecStatus Gecode::Set::Int::ChannelVarVal::propagate Space home  )  [virtual]
 

Perform propagation.

Implements Gecode::Propagator.

Definition at line 54 of file channelVarVal.cc.

forceinline ExecStatus Gecode::Set::Int::ChannelVarVal::post Space home,
ViewArray< Gecode::Int::IntView > &  x,
ViewArray< SetView > &  y
[static]
 

Post propagator for $x_i=j \Leftrightarrow i\in y_j$.

Definition at line 51 of file channelVarVal.icc.


Member Data Documentation

ViewArray< Gecode::Int::IntView > Gecode::Set::Int::ChannelVarVal::xs [protected]
 

IntViews, $x_i$ reflects which set contains element $i$.

Definition at line 154 of file int.hh.

ViewArray< SetView > Gecode::Set::Int::ChannelVarVal::ys [protected]
 

SetViews that are constrained to be disjoint.

Definition at line 156 of file int.hh.


The documentation for this class was generated from the following files: