50 template<
template<
class>
class E,
class T>
70 slave = master->
clone();
74 E<T> engine(dynamic_cast<T*>(slave),e_opt);
81 template<
template<
class>
class E,
class T>
84 return dynamic_cast<T*
>(e->next());
87 template<
template<
class>
class E,
class T>
90 return e->statistics();
93 template<
template<
class>
class E,
class T>
100 template<
template<
class>
class E,
class T>
bool stopped(void) const
Check whether engine has been stopped.
Search engine implementation interface
Meta-engine performing restart-based search.
#define GECODE_SEARCH_EXPORT
Search::Engine * e
The actual search engine.
Space * clone(bool share=true, CloneStatistics &stat=unused_clone) const
Clone space.
void stop(Support::Timer &timer, std::ostream &os)
Get time since start of timer and print user friendly time information.
Search::Statistics statistics(void) const
Return statistics.
unsigned long int fail
Number of failed nodes in search tree.
Current restart information during search.
Cutoff * cutoff
Cutoff for restart-based search.
bool clone
Whether engines create a clone when being initialized.
virtual bool slave(const CRI &cri)
Slave configuration function for restart meta search engine.
T * next(void)
Return next solution (NULL, if non exists or search has been stopped)
Exception: Uninitialized cutoff for restart-based search
static NoGoods eng
Empty no-goods.
RBS(T *s, const Search::Options &o)
Initialize engine for space s and options o.
Base-class for search engines.
Stop * stop
Stop object for stopping search.
Gecode toplevel namespace
T * rbs(T *s, const Search::Options &o)
Perform restart-based search.
Engine * rbs(Space *s, MetaStop *stop, Engine *e, const Options &o)