Generated on Thu Mar 22 10:39:59 2012 for Gecode by doxygen 1.6.3

Gecode::Search::Options Class Reference
[Search engines]

Search engine options More...

#include <search.hh>

List of all members.

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).
Stopstop
 Stop object for stopping search.

Static Public Attributes

static const Options def
 Default options.

Detailed Description

Search engine options

Defines options for search engines. Not all search engines might honor all option values.

  • 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 c_d. That is, in order to recompute a node in the search tree, c_d recomputation steps are needed. The minimal recomputation distance yields a guarantee on saving memory compared to full copying: it stores c_d times less nodes than full copying.
  • a_d as adaptive recomputation distance: when a node needs to be recomputed and the path is longer than 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_d can increase the memory consumption considerably.

Full copying corresponds to a maximal recomputation distance 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 $n$ (assume that $m$ is the number of processing units available). If $1 \leq n$, $n$ threads are chosen (of course with rounding). If $n \leq -1$, then $m + n$ threads are chosen (all but $-n$ processing units get a thread). If $n$ is zero, $m$ threads are chosen. If $0<n<1$, $n \times m$ threads are chosen. If $-1 <n<0$, $(1+n)\times m$ threads are chosen.

Definition at line 164 of file search.hh.


Constructor & Destructor Documentation

Gecode::Search::Options::Options ( void   )  [inline]

Initialize with default values.

Reimplemented in Gecode::Gist::Options.

Definition at line 41 of file options.hpp.


Member Function Documentation

Options Gecode::Search::Options::expand ( void   )  const

Expand with real number of threads.

Definition at line 47 of file options.cpp.


Member Data Documentation

Whether engines create a clone when being initialized.

Definition at line 167 of file search.hh.

Number of threads to use.

Definition at line 169 of file search.hh.

Create a clone after every c_d commits (commit distance).

Definition at line 171 of file search.hh.

Create a clone during recomputation if distance is greater than a_d (adaptive distance).

Definition at line 173 of file search.hh.

Stop object for stopping search.

Definition at line 175 of file search.hh.

Default options.

Reimplemented in Gecode::Gist::Options.

Definition at line 177 of file search.hh.


The documentation for this class was generated from the following files: