48 if ((m_stop != NULL) && m_stop->stop(m_stat+s,o)) {
65 stop->m_stat.nogood += ng.
ng();
67 stop->update(
e->statistics());
73 stop->update(
e->statistics());
79 stop->m_stat.restart++;
90 }
else if ( (!
complete && !
e->stopped()) ||
91 (
e->stopped() &&
stop->enginestopped()) ) {
99 stop->m_stat.nogood += ng.
ng();
100 long unsigned int nl = ++(*co);
101 stop->limit(
e->statistics(),nl);
118 return stop->metastatistics()+
e->statistics();
124 throw NoBest(
"RBS::constrain");
No-goods recorded from restarts.
unsigned long int ng(void) const
Return number of no-goods posted.
Exception: Best solution search is not supported
RestartStop * stop
The stop control object.
virtual Space * next(void)
Return next solution (NULL, if none exists or search has been stopped)
bool best
Whether the engine performs best solution search.
Space * master
The master space to restart from.
bool restart
Whether a restart must be performed when next is called.
bool complete
Whether search for the next solution will be complete.
Engine * e
The actual engine.
virtual bool stopped(void) const
Check whether engine has been stopped.
virtual void constrain(const Space &b)
Constrain future solutions to be better than b.
Space * last
The last solution space (possibly NULL)
unsigned long int sslr
How many solutions since the last restart.
Cutoff * co
The cutoff object.
virtual ~RBS(void)
Destructor.
virtual Statistics statistics(void) const
Return statistics.
virtual bool stop(const Statistics &s, const Options &o)
Return true if meta engine must be stopped.
unsigned long int fail
Number of failed nodes in search tree.
virtual bool slave(const MetaInfo &mi)
Slave configuration function for meta search engines.
Space * clone(CloneStatistics &stat=unused_clone) const
Clone space.
@ SS_FAILED
Space is failed
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType r
#define GECODE_NEVER
Assert that this command is never executed.