Gecode::Int::Distinct Namespace Reference
Distinct propagators
More...
Classes |
class | Rank |
| Rank information More...
|
class | MaxIncIdx |
| Sort-order by increasing maximum (by index). More...
|
class | MinIncIdx |
| Sort-order by increasing minimum (by index). More...
|
class | MinInc |
| Sort-order by increasing minimum (direct). More...
|
class | HallInfo |
| Information on Hall intervals. More...
|
class | Val |
| Naive value distinct propagator. More...
|
class | Bnd |
| Bounds consistent distinct propagator. More...
|
class | Graph |
| View-value graph for propagation. More...
|
class | DomCtrl |
| Propagation controller for domain consistent distinct. More...
|
class | Dom |
| Domain consistent distinct propagator. More...
|
class | TerDom |
| Ternary domain consistent distinct propagator. More...
|
Functions |
void | pathset_t (HallInfo hall[], int start, int end, int to) |
void | pathset_h (HallInfo hall[], int start, int end, int to) |
int | pathmin_h (const HallInfo hall[], int i) |
int | pathmin_t (const HallInfo hall[], int i) |
int | pathmax_h (const HallInfo hall[], int i) |
int | pathmax_t (const HallInfo hall[], int i) |
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 View , bool complete> |
ExecStatus | prop_val (Space &home, ViewArray< View > &) |
| Eliminate singletons by naive value propagation.
|
Detailed Description
Distinct propagators
Function Documentation
void Gecode::Int::Distinct::pathset_t |
( |
HallInfo |
hall[], |
|
|
int |
start, |
|
|
int |
end, |
|
|
int |
to | |
|
) |
| | [inline] |
void Gecode::Int::Distinct::pathset_h |
( |
HallInfo |
hall[], |
|
|
int |
start, |
|
|
int |
end, |
|
|
int |
to | |
|
) |
| | [inline] |
int Gecode::Int::Distinct::pathmin_h |
( |
const HallInfo |
hall[], |
|
|
int |
i | |
|
) |
| | [inline] |
int Gecode::Int::Distinct::pathmin_t |
( |
const HallInfo |
hall[], |
|
|
int |
i | |
|
) |
| | [inline] |
int Gecode::Int::Distinct::pathmax_h |
( |
const HallInfo |
hall[], |
|
|
int |
i | |
|
) |
| | [inline] |
int Gecode::Int::Distinct::pathmax_t |
( |
const HallInfo |
hall[], |
|
|
int |
i | |
|
) |
| | [inline] |
template<class View >
ExecStatus Gecode::Int::Distinct::prop_bnd |
( |
Space & |
home, |
|
|
ViewArray< View > & |
x, |
|
|
int & |
min_x, |
|
|
int & |
max_x | |
|
) |
| | [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.
template<class View >
ExecStatus Gecode::Int::Distinct::prop_bnd |
( |
Space & |
home, |
|
|
ViewArray< View > & |
x | |
|
) |
| | [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.
template<class View , bool complete>
ExecStatus Gecode::Int::Distinct::prop_val |
( |
Space & |
home, |
|
|
ViewArray< View > & |
| |
|
) |
| | [inline] |
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.