Generated on Wed Nov 1 15:05:24 2006 for Gecode by doxygen 1.4.5

Gecode::Set::Int::Channel 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 "gecode/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 size_t dispose (Space *home)
 Delete propagator and return its size.
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

 Channel (Space *home, bool share, Channel &p)
 Constructor for cloning p.
 Channel (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

Gecode::Set::Int::Channel::Channel Space home,
bool  share,
Channel p
[inline, protected]
 

Constructor for cloning p.

Definition at line 43 of file channel.icc.

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

Constructor for posting.

Definition at line 34 of file channel.icc.


Member Function Documentation

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

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 53 of file channel.cc.

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

Cost function (defined as PC_QUADRATIC_LO).

Implements Gecode::Propagator.

Definition at line 39 of file channel.cc.

size_t Gecode::Set::Int::Channel::dispose Space home  )  [virtual]
 

Delete propagator and return its size.

Reimplemented from Gecode::Actor.

Definition at line 44 of file channel.cc.

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

Perform propagation.

Implements Gecode::Propagator.

Definition at line 58 of file channel.cc.

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

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

Definition at line 51 of file channel.icc.


Member Data Documentation

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

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

Definition at line 154 of file int.hh.

ViewArray< SetView > Gecode::Set::Int::Channel::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: