38 namespace Gecode {
namespace Search {
namespace Seq {
40 template<
class Tracer>
45 tracer.engine(SearchTracer::EngineType::DFS, 1U);
58 template<
class Tracer>
74 template<
class Tracer>
80 template<
class Tracer>
101 cur = path.recompute(d,opt.
a_d,*
this,tracer);
108 if (tracer && (path.entries() > 0)) {
112 unsigned int nid = tracer.nid();
113 switch (cur->
status(*
this)) {
117 tracer.wid(), nid, *cur);
129 tracer.wid(), nid, *cur);
142 if ((d == 0) || (d >= opt.
c_d)) {
149 const Choice* ch = path.push(*
this,cur,c,nid);
152 tracer.wid(), nid, *cur, ch);
166 template<
class Tracer>
172 template<
class Tracer>
179 template<
class Tracer>
unsigned int a_d
Create a clone during recomputation if distance is greater than a_d (adaptive distance) ...
Space must be branched (at least one brancher left)
Node representing a branch.
unsigned int c_d
Create a clone after every c_d commits (commit distance)
const Choice * choice(void) const
Return choice.
void path(Home home, int offset, const IntVarArgs &x, IntVar s, IntVar e, IntPropLevel ipl)
Post propagator such that x forms a Hamiltonian path.
unsigned long int fail
Number of failed nodes in search tree.
Node representing failure.
unsigned int nid(void) const
Return node identifier.
unsigned int truealt(void) const
Return true number for alternatives (excluding lao optimization)
DFS(Space *s, const Options &o)
Initialize for space s with options o.
void start(void)
Reset stop information.
Gecode::FloatVal c(-8, 8)
void init(unsigned int wid, unsigned int nid, unsigned int a)
Initialize.
Space * clone(CloneStatistics &stat=unused_clone) const
Clone space.
NoGoods & nogoods(void)
Return no-goods.
Node representing a solution.
void constrain(const Space &b)
Constrain future solutions to be better than b (should never be called)
void commit(const Choice &c, unsigned int a, CommitStatistics &stat=unused_commit)
Commit choice c for alternative a.
Search tree edge for recomputation
bool clone
Whether engines create a clone when being initialized.
struct Gecode::@585::NNF::@62::@63 b
For binary nodes (and, or, eqv)
Choice for performing commit
No-goods recorded from restarts.
Space * next(void)
Search for next solution
SpaceStatus status(StatusStatistics &stat=unused_status)
Query space status.
Statistics statistics(void) const
Return statistics.
Gecode toplevel namespace
unsigned long int node
Number of nodes expanded.
const unsigned int nogoods_limit
Depth limit for no-good generation during search.
Space * snapshot(Space *s, const Options &o)
Clone space s dependening on options o.
const Choice * choice(void)
Create new choice for current brancher.
#define GECODE_NEVER
Assert that this command is never executed.
bool stop(const Options &o)
Check whether engine must be stopped.
Space is solved (no brancher left)