38 namespace Gecode {
namespace Search {
namespace Seq {
40 template<
class Tracer>
46 tracer.engine(SearchTracer::EngineType::BAB, 1U);
59 template<
class Tracer>
93 if (tracer && (
path.entries() > 0)) {
97 unsigned int nid = tracer.nid();
98 switch (cur->status(*
this)) {
102 tracer.wid(), nid, *cur);
114 tracer.wid(), nid, *cur);
118 (void) cur->choice();
125 return best->clone();
129 if ((
d == 0) || (
d >=
opt.c_d)) {
139 tracer.wid(), nid, *cur, ch);
153 template<
class Tracer>
159 template<
class Tracer>
176 template<
class Tracer>
195 template<
class Tracer>
201 template<
class Tracer>
struct Gecode::@602::NNF::@65::@66 b
For binary nodes (and, or, eqv)
Choice for performing commit
No-goods recorded from restarts.
void init(unsigned int wid, unsigned int nid, unsigned int a)
Initialize.
bool clone
Whether engines create a clone when being initialized.
BAB(Space *s, const Options &o)
Initialize with space s and search options o.
NoGoods & nogoods(void)
Return no-goods.
Space * next(void)
Search for next better solution
void constrain(const Space &b)
Constrain future solutions to be better than b.
Statistics statistics(void) const
Return statistics.
Search tree edge for recomputation
unsigned int truealt(void) const
Return true number for alternatives (excluding lao optimization)
unsigned int nid(void) const
Return node identifier.
const Choice * choice(void) const
Return choice.
unsigned long int fail
Number of failed nodes in search tree.
void path(Home home, int offset, const IntVarArgs &x, IntVar s, IntVar e, IntPropLevel ipl)
Post propagator such that x forms a Hamiltonian path.
SpaceStatus status(StatusStatistics &stat=unused_status)
Query space status.
@ SS_BRANCH
Space must be branched (at least one brancher left)
@ SS_SOLVED
Space is solved (no brancher left)
@ SS_FAILED
Space is failed
void stop(Support::Timer &timer, std::ostream &os)
Get time since start of timer and print user friendly time information.
@ FAILED
Node representing failure.
@ SOLVED
Node representing a solution.
@ BRANCH
Node representing a branch.
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.
void * mark(void *p)
Return marked pointer for unmarked pointer p.
Gecode::FloatVal c(-8, 8)
#define GECODE_NEVER
Assert that this command is never executed.