Distinct propagators More...
Classes | |
class | Bnd |
Bounds consistent distinct propagator. More... | |
class | Dom |
Domain consistent distinct propagator. More... | |
class | DomCtrl |
Propagation controller for domain consistent distinct. More... | |
class | EqIte |
Equal-if-then-else domain-consistent propagator. More... | |
class | Graph |
View-value graph for propagation. More... | |
class | HallInfo |
Information on Hall intervals. More... | |
class | MaxIncIdx |
Sort-order by increasing maximum (by index) More... | |
class | MinInc |
Sort-order by increasing minimum (direct) More... | |
class | MinIncIdx |
Sort-order by increasing minimum (by index) More... | |
class | Rank |
Rank information More... | |
class | TerDom |
Ternary domain consistent distinct propagator. More... | |
class | Val |
Naive value distinct propagator. More... |
Functions | |
template<class View, bool complete> | |
ExecStatus | prop_val (Space &home, ViewArray< View > &) |
Eliminate singletons by naive value propagation. | |
template<class View> | |
ExecStatus | prop_bnd (Space &home, ViewArray< View > &x, int &min_x, int &max_x) |
Perform bounds consistent distinct propagation. | |
template<class View> | |
ExecStatus | prop_bnd (Space &home, ViewArray< View > &x) |
Perform bounds consistent distinct propagation. | |
template<class IntType> | |
void | pathset_t (HallInfo< IntType > hall[], IntType start, IntType end, IntType to) |
template<class IntType> | |
void | pathset_h (HallInfo< IntType > hall[], IntType start, IntType end, IntType to) |
template<class IntType> | |
IntType | pathmin_h (const HallInfo< IntType > hall[], IntType i) |
template<class IntType> | |
IntType | pathmin_t (const HallInfo< IntType > hall[], IntType i) |
template<class IntType> | |
IntType | pathmax_h (const HallInfo< IntType > hall[], IntType i) |
template<class IntType> | |
IntType | pathmax_t (const HallInfo< IntType > hall[], IntType i) |
template<class View, class IntType> | |
ExecStatus | prop_bnd (Space &home, ViewArray< View > &x, int *minsorted, int *maxsorted) |
Distinct propagators
ExecStatus Gecode::Int::Distinct::prop_val | ( | Space & | home, |
ViewArray< View > & | x ) |
Eliminate singletons by naive value propagation.
This is actually the propagation algorithm for Distinct::Val. It is available as separate function as it is reused for both bounds consistent and domain consistent distinct propagators.
If complete is true, computes fixpoint, otherwise might not compute fixpoint. This can be helpful when used together with bounds or domain propagation to protect from pathological cases which can be handled more efficiently with bounds propagation.
|
inline |
Perform bounds consistent distinct propagation.
This is actually the propagation algorithm for Distinct::Bnd. It is available as separate function as it is reused for both bounds consistent and domain consistent distinct propagators.
ExecStatus Gecode::Int::Distinct::prop_bnd | ( | Space & | home, |
ViewArray< View > & | x ) |
Perform bounds consistent distinct propagation.
This is actually the propagation algorithm for Distinct::Bnd. It is available as separate function as it is reused for both bounds consistent and domain consistent distinct propagators.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |