43 namespace Gecode {
namespace Search {
namespace Meta {
51 engine(Space* master, Stop*
stop, Engine* slave,
52 const Search::Statistics& stat,
const Options&
opt,
57 namespace Gecode {
namespace Search {
60 template<
class T,
template<
class>
class E>
70 template<
class T,
template<
class>
class E>
75 template<
class T,
template<
class>
class E>
78 return build<T,RBS<T,E> >(s,
opt);
85 template<
class T,
template<
class>
class E>
102 master = m_opt.
clone ? s->clone() : s;
107 stat,m_opt,E<T>::best);
112 template<
class T,
template<
class>
class E>
119 template<
class T,
template<
class>
class E>
Search engine implementation interface
RBS(T *s, const Search::Options &o)
Initialize engine for space s and options o.
Meta-engine performing restart-based search.
#define GECODE_SEARCH_EXPORT
A class for building search engines.
Options opt
Stored and already expanded options.
virtual T * next(void)
Return next solution (NULL, if none exists or search has been stopped)
virtual Engine * operator()(Space *s) const
The actual build function.
Space * clone(bool share_data=true, bool share_info=true, CloneStatistics &stat=unused_clone) const
Clone space.
Options expand(void) const
Expand with real number of threads.
RbsBuilder(const Options &opt)
The constructor.
Cutoff * cutoff
Cutoff for restart-based search.
bool share_rbs
Whether to share AFC information between restarts.
void fail(void)
Fail space.
bool clone
Whether engines create a clone when being initialized.
virtual bool slave(const MetaInfo &mi)
Slave configuration function for meta search engines.
Exception: Uninitialized cutoff for restart-based search
static NoGoods eng
Empty no-goods.
Stop * stop
Stop object for stopping search.
Gecode toplevel namespace
T * rbs(T *s, const Search::Options &o)
Perform restart-based search.