
Search engine options More...
#include <search.hh>
Public Member Functions | |
| Options (void) | |
| Initialize with default values. | |
| Options | expand (void) const |
| Expand with real number of threads. | |
Public Attributes | |
| bool | clone |
| Whether engines create a clone when being initialized. | |
| double | threads |
| Number of threads to use. | |
| unsigned int | c_d |
| Create a clone after every c_d commits (commit distance) | |
| unsigned int | a_d |
| Create a clone during recomputation if distance is greater than a_d (adaptive distance) | |
| Stop * | stop |
| Stop object for stopping search. | |
Static Public Attributes | |
| static const Options | def |
| Default options. | |
Search engine options
Defines options for search engines. Not all search engines might
honor all option values.
- \a c_d as minimal recomputation distance: this guarantees that
a path between two nodes in the search tree for which copies are
stored has at least length \a c_d. That is, in order to recompute
a node in the search tree, \a c_d recomputation steps are needed.
The minimal recomputation distance yields a guarantee on saving
memory compared to full copying: it stores \a c_d times less nodes
than full copying.
- \a a_d as adaptive recomputation distance: when a node needs to be
recomputed and the path is longer than \a a_d, an intermediate copy
is created (approximately in the middle of the path) to speed up
future recomputation. Note that small values of \a a_d can increase
the memory consumption considerably.
Full copying corresponds to a maximal recomputation distance
\a c_d of 1.
All recomputation performed is based on batch recomputation: batch
recomputation performs propagation only once for an entire path
used in recomputation.
The number of threads to be used is controlled by a double \form#4
(assume that \form#175 is the number of processing units available). If
,
threads are chosen (of course with rounding). If
, then
threads are chosen (all but
processing units get a thread). If
is zero,
threads are chosen. If
,
threads are chosen. If
,
threads are chosen.
|
inline |
Initialize with default values.
Reimplemented in Gecode::Gist::Options.
Definition at line 41 of file options.hpp.
| Options Gecode::Search::Options::expand | ( | void | ) | const |
Expand with real number of threads.
Definition at line 47 of file options.cpp.
| bool Gecode::Search::Options::clone |
| double Gecode::Search::Options::threads |
| unsigned int Gecode::Search::Options::c_d |
| unsigned int Gecode::Search::Options::a_d |
| Stop* Gecode::Search::Options::stop |
|
static |