Public Member Functions |
virtual Actor * | copy (Space &home, bool share) |
| Copy propagator during cloning.
|
virtual PropCost | cost (const Space &home, const ModEventDelta &med) const |
| Cost function (defined as low linear)
|
virtual ExecStatus | propagate (Space &home, const ModEventDelta &med) |
| Perform propagation.
|
virtual size_t | dispose (Space &home) |
| Delete propagator and return its size.
|
Static Public Member Functions |
static ExecStatus | post (Home home, ViewArray< View > &x, ViewArray< View > &y, bool strict) |
| Post propagator for lexical order between x and y.
|
Protected Member Functions |
| LexLqLe (Space &home, bool share, LexLqLe< View > &p) |
| Constructor for cloning p.
|
| LexLqLe (Home home, ViewArray< View > &x, ViewArray< View > &y, bool strict) |
| Constructor for posting.
|
Protected Attributes |
ViewArray< View > | x |
| View arrays.
|
ViewArray< View > | y |
bool | strict |
| Determines whether propagator is strict or not.
|
template<class View>
class Gecode::Int::Rel::LexLqLe< View >
Lexical ordering propagator.
The propagator uses the algorithm (and also the automaton) from: Mats Carlsson, Nicolas Beldiceanu, Revisiting the Lexicographic Ordering Constraint. SICS Technical Report T2002:17, SICS, Sweden, 2002.
It deviates in the following two main aspects:
- Assigned variables are eagerly eliminated This yields the same incremental behaviour with respect to states 1 and 2 of the automaton. With respect to the values of q and r in the report:
- q is always 0 after elimination
- r is always 1 after elimination
- It is not incremental with respect to states 3 and 4 as no propagation event information is available
Requires
Definition at line 597 of file rel.hh.