Base class for cutoff generators for restart-based meta engine. More...
#include <search.hh>
Constructors and member functions | |
Cutoff (void) | |
Default constructor. | |
virtual unsigned long int | operator() (void) const =0 |
Return the current cutoff value. | |
virtual unsigned long int | operator++ (void)=0 |
Increment and return the next cutoff value. | |
virtual | ~Cutoff (void) |
Destructor. |
Predefined cutoff generators | |
static Cutoff * | constant (unsigned long int scale=Config::slice) |
Create generator for constant sequence with constant s. | |
static Cutoff * | linear (unsigned long int scale=Config::slice) |
Create generator for linear sequence scaled by scale. | |
static Cutoff * | geometric (unsigned long int scale=Config::slice, double base=Config::base) |
static Cutoff * | luby (unsigned long int scale=Config::slice) |
Create generator for luby sequence with scale-factor scale. | |
static Cutoff * | rnd (unsigned int seed, unsigned long int min, unsigned long int max, unsigned long int n) |
static Cutoff * | append (Cutoff *c1, unsigned long int n, Cutoff *c2) |
Append cutoff values from c2 after n values from c1. | |
static Cutoff * | merge (Cutoff *c1, Cutoff *c2) |
Merge cutoff values from c1 with values from c2. | |
static Cutoff * | repeat (Cutoff *c, unsigned long int n) |
Create generator that repeats n times each cutoff value from c. |
Additional Inherited Members | |
Static Public Member Functions inherited from Gecode::HeapAllocated | |
static void * | operator new (size_t s) |
Memory management. | |
static void | operator delete (void *p) |
Free memory allocated from heap. |
Base class for cutoff generators for restart-based meta engine.
|
inline |
Default constructor.
Definition at line 41 of file cutoff.hpp.
|
inlinevirtual |
Destructor.
Definition at line 43 of file cutoff.hpp.
|
pure virtual |
Return the current cutoff value.
Implemented in Gecode::Search::CutoffAppend, Gecode::Search::CutoffConstant, Gecode::Search::CutoffGeometric, Gecode::Search::CutoffLinear, Gecode::Search::CutoffLuby, Gecode::Search::CutoffMerge, Gecode::Search::CutoffRandom, and Gecode::Search::CutoffRepeat.
|
pure virtual |
Increment and return the next cutoff value.
Implemented in Gecode::Search::CutoffAppend, Gecode::Search::CutoffConstant, Gecode::Search::CutoffGeometric, Gecode::Search::CutoffLinear, Gecode::Search::CutoffLuby, Gecode::Search::CutoffMerge, Gecode::Search::CutoffRandom, and Gecode::Search::CutoffRepeat.
|
static |
Create generator for constant sequence with constant s.
Definition at line 148 of file cutoff.cpp.
|
static |
Create generator for linear sequence scaled by scale.
Definition at line 152 of file cutoff.cpp.
|
static |
Create generator for geometric sequence scaled by scale using base base
Definition at line 160 of file cutoff.cpp.
|
static |
Create generator for luby sequence with scale-factor scale.
Definition at line 156 of file cutoff.cpp.
|
static |
Create generator for random sequence with seed seed that generates values between min and max with n steps between the extreme values (use 0 for n to get step size 1).
Definition at line 164 of file cutoff.cpp.
Append cutoff values from c2 after n values from c1.
Definition at line 171 of file cutoff.cpp.
Merge cutoff values from c1 with values from c2.
Definition at line 175 of file cutoff.cpp.
Create generator that repeats n times each cutoff value from c.
Definition at line 179 of file cutoff.cpp.