Generated on Sat Aug 25 2012 15:53:13 for Gecode by doxygen 1.7.5
Gecode::Int::Rel::LexLqLe Class Reference

Lexical ordering propagator. More...

#include <rel.hh>

List of all members.

Public Member Functions

virtual Actorcopy (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.

Detailed Description

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

 #include <gecode/int/rel.hh> 

Constructor & Destructor Documentation

Gecode::Int::Rel::LexLqLe::LexLqLe ( Space home,
bool  share,
LexLqLe< View > &  p 
) [inline, protected]

Constructor for cloning p.

Definition at line 54 of file lex.hpp.

Gecode::Int::Rel::LexLqLe::LexLqLe ( Home  home,
ViewArray< View > &  x,
ViewArray< View > &  y,
bool  strict 
) [inline, protected]

Constructor for posting.

Definition at line 45 of file lex.hpp.


Member Function Documentation

Actor * Gecode::Int::Rel::LexLqLe::copy ( Space home,
bool  share 
) [virtual]

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 62 of file lex.hpp.

PropCost Gecode::Int::Rel::LexLqLe::cost ( const Space home,
const ModEventDelta med 
) const [virtual]

Cost function (defined as low linear)

Implements Gecode::Propagator.

Definition at line 68 of file lex.hpp.

ExecStatus Gecode::Int::Rel::LexLqLe::propagate ( Space home,
const ModEventDelta med 
) [virtual]

Perform propagation.

Implements Gecode::Propagator.

Definition at line 84 of file lex.hpp.

ExecStatus Gecode::Int::Rel::LexLqLe::post ( Home  home,
ViewArray< View > &  x,
ViewArray< View > &  y,
bool  strict 
) [static]

Post propagator for lexical order between x and y.

Definition at line 238 of file lex.hpp.

size_t Gecode::Int::Rel::LexLqLe::dispose ( Space home) [inline, virtual]

Delete propagator and return its size.

Reimplemented from Gecode::Actor.

Definition at line 74 of file lex.hpp.


Member Data Documentation

View arrays.

Definition at line 600 of file rel.hh.

Definition at line 600 of file rel.hh.

Determines whether propagator is strict or not.

Definition at line 602 of file rel.hh.


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