38 #ifndef __GECODE_SEARCH_SEQUENTIAL_DFS_HH__ 39 #define __GECODE_SEARCH_SEQUENTIAL_DFS_HH__ 46 namespace Gecode {
namespace Search {
namespace Sequential {
123 while (cur == NULL) {
132 switch (cur->
status(*
this)) {
151 if ((d == 0) || (d >= opt.
c_d)) {
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)
Statistics statistics(void) const
Return statistics.
unsigned int c_d
Create a clone after every c_d commits (commit distance)
const Choice * push(Worker &stat, Space *s, Space *c)
Push space c (a clone of s or NULL)
Space * next(void)
Search for next solution
Depth-first path (stack of edges) supporting recomputation.
unsigned long int fail
Number of failed nodes in search tree.
bool empty(void) const
Test whether path is empty.
void start(void)
Reset stop information.
Gecode::FloatVal c(-8, 8)
Space * recompute(unsigned int &d, unsigned int a_d, Worker &s)
Recompute space according to path.
void commit(const Choice &c, unsigned int a, CommitStatistics &stat=unused_commit)
Commit choice c for alternative a.
DFS(Space *s, const Options &o)
Initialize for space s with options o.
bool clone
Whether engines create a clone when being initialized.
void reset(void)
Reset stack.
NoGoods & nogoods(void)
Return no-goods.
Space * clone(bool share=true, CloneStatistics &stat=unused_clone) const
Clone space.
Choice for performing commit
No-goods recorded from restarts.
void next(void)
Generate path for next node.
SpaceStatus status(StatusStatistics &stat=unused_status)
Query space status.
Space * snapshot(Space *s, const Options &o, bool share=true)
Clone space s dependening on options o.
Gecode toplevel namespace
unsigned long int node
Number of nodes expanded.
const unsigned int nogoods_limit
Depth limit for no-good generation during search.
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.
Depth-first search engine implementation.
Space is solved (no brancher left)