Generated on Mon Sep 17 2012 22:21:00 for Gecode by doxygen 1.8.1.1
Gecode::Search::Options Class Reference

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.

   - \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

$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

bool Gecode::Search::Options::clone

Whether engines create a clone when being initialized.

Definition at line 167 of file search.hh.

double Gecode::Search::Options::threads

Number of threads to use.

Definition at line 169 of file search.hh.

unsigned int Gecode::Search::Options::c_d

Create a clone after every c_d commits (commit distance)

Definition at line 171 of file search.hh.

unsigned int Gecode::Search::Options::a_d

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

Definition at line 173 of file search.hh.

Stop* Gecode::Search::Options::stop

Stop object for stopping search.

Definition at line 175 of file search.hh.

const Options Gecode::Search::Options::def
static

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: