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

Gecode::Int::GCC::BndImp< View, Card, isView, shared > Class Template Reference

#include <gcc.hh>

Inherits Gecode::Propagator.

List of all members.


Detailed Description

template<class View, class Card, bool isView, bool shared>
class Gecode::Int::GCC::BndImp< View, Card, isView, shared >

Implementation of the bounds consistent global cardinality propagator.

Definition at line 114 of file gcc.hh.

Public Member Functions

virtual size_t dispose (Space *home)
 Destructor.
virtual void flush (void)
 Flush partial sum data structures.
virtual Actorcopy (Space *home, bool share)
 Copy propagator during cloning.
virtual PropCost cost (void) const
 Cost funtion returning dynamic PC_LINEAR_HI.
virtual ExecStatus propagate (Space *home)
 Perform propagation.

Protected Member Functions

 BndImp (Space *home, ViewArray< View > &, ViewArray< Card > &, bool, bool, bool)
 Constructor for posting.
 BndImp (Space *home, bool share, BndImp< View, Card, isView, shared > &p)
 Constructor for cloning p.

Protected Attributes

ViewArray< View > x
 Views on which to perform bounds-propagation.
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 capacities in the propagation algorithm.
PartialSum< Card > * ups
 Data structure storing the sum of the views upper bounds.
bool card_fixed
 Stores whether cardinalities are all assigned.
bool card_all
 Stores whether all values in domains of the x-views are used for cardinality reasoning or whether we only use a subset of them.
bool skip_lbc
 Stores whether the minium required occurences of the cardinalities are all zero. If so, we do not need to perform lower bounds propagation.


Constructor & Destructor Documentation

template<class View, class Card, bool isView, bool shared>
Gecode::Int::GCC::BndImp< View, Card, isView, shared >::BndImp Space home,
ViewArray< View > &  ,
ViewArray< Card > &  ,
bool  ,
bool  ,
bool 
[inline, protected]
 

Constructor for posting.

Definition at line 487 of file bnd.icc.

template<class View, class Card, bool isView, bool shared>
Gecode::Int::GCC::BndImp< View, Card, isView, shared >::BndImp Space home,
bool  share,
BndImp< View, Card, isView, shared > &  p
[inline, protected]
 

Constructor for cloning p.

Definition at line 499 of file bnd.icc.


Member Function Documentation

template<class View, class Card, bool isView, bool shared>
size_t Gecode::Int::GCC::BndImp< View, Card, isView, shared >::dispose Space home  )  [virtual]
 

Destructor.

Reimplemented from Gecode::Actor.

Definition at line 509 of file bnd.icc.

template<class View, class Card, bool isView, bool shared>
void Gecode::Int::GCC::BndImp< View, Card, isView, shared >::flush void   )  [virtual]
 

Flush partial sum data structures.

Reimplemented from Gecode::Actor.

Definition at line 619 of file bnd.icc.

template<class View, class Card, bool isView, bool shared>
Actor * Gecode::Int::GCC::BndImp< View, Card, isView, shared >::copy Space home,
bool  share
[virtual]
 

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 526 of file bnd.icc.

template<class View, class Card, bool isView, bool shared>
PropCost Gecode::Int::GCC::BndImp< View, Card, isView, shared >::cost void   )  const [virtual]
 

Cost funtion returning dynamic PC_LINEAR_HI.

Implements Gecode::Propagator.

Definition at line 533 of file bnd.icc.

template<class View, class Card, bool isView, bool shared>
ExecStatus Gecode::Int::GCC::BndImp< View, Card, isView, shared >::propagate Space home  )  [virtual]
 

Perform propagation.

Implements Gecode::Propagator.

Definition at line 547 of file bnd.icc.


Member Data Documentation

template<class View, class Card, bool isView, bool shared>
ViewArray<View> Gecode::Int::GCC::BndImp< View, Card, isView, shared >::x [protected]
 

Views on which to perform bounds-propagation.

Definition at line 118 of file gcc.hh.

template<class View, class Card, bool isView, bool shared>
ViewArray<Card> Gecode::Int::GCC::BndImp< View, Card, isView, shared >::k [protected]
 

Array containing either fixed cardinalities or CardViews.

Definition at line 120 of file gcc.hh.

template<class View, class Card, bool isView, bool shared>
PartialSum<Card>* Gecode::Int::GCC::BndImp< View, Card, isView, shared >::lps [protected]
 

Data structure storing the sum of the views lower bounds Necessary for reasoning about the interval capacities in the propagation algorithm.

Definition at line 126 of file gcc.hh.

template<class View, class Card, bool isView, bool shared>
PartialSum<Card>* Gecode::Int::GCC::BndImp< View, Card, isView, shared >::ups [protected]
 

Data structure storing the sum of the views upper bounds.

Definition at line 128 of file gcc.hh.

template<class View, class Card, bool isView, bool shared>
bool Gecode::Int::GCC::BndImp< View, Card, isView, shared >::card_fixed [protected]
 

Stores whether cardinalities are all assigned.

If all cardinalities are assigned the propagation algorithm only has to perform propagation for the upper bounds.

Definition at line 135 of file gcc.hh.

template<class View, class Card, bool isView, bool shared>
bool Gecode::Int::GCC::BndImp< View, Card, isView, shared >::card_all [protected]
 

Stores whether all values in domains of the x-views are used for cardinality reasoning or whether we only use a subset of them.

Definition at line 140 of file gcc.hh.

template<class View, class Card, bool isView, bool shared>
bool Gecode::Int::GCC::BndImp< View, Card, isView, shared >::skip_lbc [protected]
 

Stores whether the minium required occurences of the cardinalities are all zero. If so, we do not need to perform lower bounds propagation.

Definition at line 146 of file gcc.hh.


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