Gecode::Search::Options Class Reference
Functionality by programming task » Programming models » Search engines

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).
unsigned int | d_l
| Discrepancy limit (for LDS).
unsigned int | assets
| Number of assets (engines) in a portfolio.
unsigned int | slice
| Size of a slice in a portfolio (in number of failures).
unsigned int | nogoods_limit
| Depth limit for extraction of no-goods.
Stop * | stop
| Stop object for stopping search.
Cutoff * | cutoff
| Cutoff for restart-based search.
SearchTracer * | tracer
| Tracer object for tracing 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 (assume that 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.

Definition at line 746 of file search.hh.

## Constructor & Destructor Documentation

## Options()

Gecode::Search::Options::Options | ( | void |  | ) |

inline

Initialize with default values.

Definition at line 37 of file options.hpp.

## Member Function Documentation

## expand()

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

Expand with real number of threads.

Definition at line 43 of file options.cpp.

## Member Data Documentation

## clone

bool Gecode::Search::Options::clone

Whether engines create a clone when being initialized.

Definition at line 749 of file search.hh.

## threads

double Gecode::Search::Options::threads

Number of threads to use.

Definition at line 751 of file search.hh.

## c_d

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

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

Definition at line 753 of file search.hh.

## a_d

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

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

Definition at line 755 of file search.hh.

## d_l

unsigned int Gecode::Search::Options::d_l

Discrepancy limit (for LDS).

Definition at line 757 of file search.hh.

## assets

unsigned int Gecode::Search::Options::assets

Number of assets (engines) in a portfolio.

Definition at line 759 of file search.hh.

## slice

unsigned int Gecode::Search::Options::slice

Size of a slice in a portfolio (in number of failures).

Definition at line 761 of file search.hh.

## nogoods_limit

unsigned int Gecode::Search::Options::nogoods_limit

Depth limit for extraction of no-goods.

Definition at line 763 of file search.hh.

## stop

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

Stop object for stopping search.

Definition at line 765 of file search.hh.

## cutoff

Cutoff* Gecode::Search::Options::cutoff

Cutoff for restart-based search.

Definition at line 767 of file search.hh.

## tracer

SearchTracer* Gecode::Search::Options::tracer

Tracer object for tracing search.

Definition at line 769 of file search.hh.

## def

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

static

Default options.

Definition at line 771 of file search.hh.

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

- gecode/search.hh
- gecode/search/options.cpp
- gecode/search/options.hpp