34 namespace Gecode {
namespace Search {
namespace Seq {
36 template<
class Tracer>
41 tracer.engine(SearchTracer::EngineType::DFS, 1U);
54 template<
class Tracer>
70 template<
class Tracer>
76 template<
class Tracer>
97 cur = path.recompute(d,opt.
a_d,*
this,tracer);
104 if (tracer && (path.entries() > 0)) {
108 unsigned int nid = tracer.nid();
109 switch (cur->
status(*
this)) {
113 tracer.wid(), nid, *cur);
125 tracer.wid(), nid, *cur);
138 if ((d == 0) || (d >= opt.
c_d)) {
145 const Choice* ch = path.push(*
this,cur,c,nid);
148 tracer.wid(), nid, *cur, ch);
162 template<
class Tracer>
168 template<
class Tracer>
175 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)