Gecode::Int::GCC::BndImp< View, Card, isView, shared > Class Template Reference
#include <gcc.hh>
Inherits Gecode::Propagator.
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 Actor * | copy (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] |
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] |
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] |
template<class View, class Card, bool isView, bool shared>
| void Gecode::Int::GCC::BndImp< View, Card, isView, shared >::flush | ( | void | ) | [virtual] |
template<class View, class Card, bool isView, bool shared>
| Actor * Gecode::Int::GCC::BndImp< View, Card, isView, shared >::copy | ( | Space * | home, | |
| bool | share | |||
| ) | [virtual] |
template<class View, class Card, bool isView, bool shared>
| PropCost Gecode::Int::GCC::BndImp< View, Card, isView, shared >::cost | ( | void | ) | const [virtual] |
template<class View, class Card, bool isView, bool shared>
| ExecStatus Gecode::Int::GCC::BndImp< View, Card, isView, shared >::propagate | ( | Space * | home | ) | [virtual] |
Member Data Documentation
template<class View, class Card, bool isView, bool shared>
ViewArray<View> Gecode::Int::GCC::BndImp< View, Card, isView, shared >::x [protected] |
template<class View, class Card, bool isView, bool shared>
ViewArray<Card> Gecode::Int::GCC::BndImp< View, Card, isView, shared >::k [protected] |
template<class View, class Card, bool isView, bool shared>
PartialSum<Card>* Gecode::Int::GCC::BndImp< View, Card, isView, shared >::lps [protected] |
template<class View, class Card, bool isView, bool shared>
PartialSum<Card>* Gecode::Int::GCC::BndImp< View, Card, isView, shared >::ups [protected] |
template<class View, class Card, bool isView, bool shared>
bool Gecode::Int::GCC::BndImp< View, Card, isView, shared >::card_fixed [protected] |
template<class View, class Card, bool isView, bool shared>
bool Gecode::Int::GCC::BndImp< View, Card, isView, shared >::card_all [protected] |
template<class View, class Card, bool isView, bool shared>
bool Gecode::Int::GCC::BndImp< View, Card, isView, shared >::skip_lbc [protected] |
The documentation for this class was generated from the following files:
- gecode/int/gcc.hh (Revision: 3512)
- gecode/int/gcc/bnd.icc (Revision: 3512)
