34#ifndef __GECODE_SEARCH_SEQ_LDS_HH__
35#define __GECODE_SEARCH_SEQ_LDS_HH__
44 template<
class Tracer>
48 typedef typename Tracer::ID
ID;
70 unsigned int alt(
void)
const;
72 unsigned int nid(
void)
const;
100 bool done(
void)
const;
104 template<
class Tracer>
129 virtual bool stopped(
void)
const;
Choice for performing commit
Search engine implementation interface
Options opt
Search options.
void reset(Space *s)
Reset engine to restart at space s.
virtual Statistics statistics(void) const
Return statistics.
unsigned int d
Current discrepancy.
bool no_solution
Solution found for current discrepancy.
virtual Space * next(void)
Return next solution (NULL, if none exists or search has been stopped)
void constrain(const Space &b)
Constrain future solutions to be better than b (should never be called)
virtual bool stopped(void) const
Check whether engine has been stopped.
Space * root
Root node for problem.
Probe< Tracer > e
The probe engine.
virtual ~LDS(void)
Destructor.
LDS(Space *s, const Options &o)
Initialize for space s with options o.
Node(void)
Default constructor.
unsigned int nid(void) const
Return node identifier.
void next(void)
Set next alternative
const Choice * choice(void) const
Return choice.
unsigned int alt(void) const
Return next alternative.
Space * space(void) const
Return space.
Tracer::ID ID
Node identity type.
unsigned int d
Current discrepancy.
Tracer tracer
Search tracer.
void init(Space *s)
Initialize with space s.
Space * cur
Current space.
bool done(void) const
Test whether probing is done.
Support::DynamicStack< Node, Heap > ds
Stack storing current path in search tree
Probe(const Options &opt)
Initialize.
Space * next(const Options &o)
Search for next solution
Statistics statistics(void) const
Return statistics.
bool exhausted
Whether entire search space has been exhausted.
Statistics(void)
Initialize.
Stack with arbitrary number of elements.
Gecode toplevel namespace