Generated on Fri Mar 20 15:57:08 2015 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).
unsigned int nogoods_limit
 Depth limit for extraction of no-goods.
Stopstop
 Stop object for stopping search.
Cutoffcutoff
 Cutoff for restart-based 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 449 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 452 of file search.hh.

Number of threads to use.

Definition at line 454 of file search.hh.

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

Definition at line 456 of file search.hh.

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

Definition at line 458 of file search.hh.

Depth limit for extraction of no-goods.

Definition at line 460 of file search.hh.

Stop object for stopping search.

Definition at line 462 of file search.hh.

Cutoff for restart-based search.

Definition at line 464 of file search.hh.

Default options.

Reimplemented in Gecode::Gist::Options.

Definition at line 466 of file search.hh.


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