search.hh File Reference
`#include <initializer_list>`
`#include <gecode/kernel.hh>`
`#include <gecode/support/auto-link.hpp>`
`#include <gecode/search/exception.hpp>`
`#include <gecode/search/statistics.hpp>`
`#include <string>`
`#include <sstream>`
`#include <gecode/search/tracer.hpp>`
`#include <gecode/search/trace-recorder.hpp>`
`#include <gecode/search/cutoff.hpp>`
`#include <gecode/search/options.hpp>`
`#include <gecode/search/stop.hpp>`
`#include <gecode/search/engine.hpp>`
`#include <gecode/search/base.hpp>`
`#include <gecode/search/build.hpp>`
`#include <gecode/search/traits.hpp>`
`#include <gecode/search/sebs.hpp>`
`#include <gecode/search/dfs.hpp>`
`#include <gecode/search/bab.hpp>`
`#include <gecode/search/lds.hpp>`
`#include <gecode/search/rbs.hpp>`
`#include <gecode/search/pbs.hpp>`

Go to the source code of this file.

## Classes

class | Gecode::Search::Statistics
| Search engine statistics More...
class | Gecode::SearchTracer
| Support for tracing search. More...
class | Gecode::SearchTracer::EngineInfo
| Information about an engine. More...
class | Gecode::SearchTracer::EdgeInfo
| Edge information. More...
class | Gecode::SearchTracer::NodeInfo
| Node information. More...
class | Gecode::StdSearchTracer
class | Gecode::CPProfilerSearchTracer
| Class to record search trace info for CPProfiler. More...
class | Gecode::CPProfilerSearchTracer::GetInfo
| Class to send solution information to CPProfiler. More...
class | Gecode::Search::Cutoff
| Base class for cutoff generators for restart-based meta engine. More...
class | Gecode::Search::CutoffConstant
| Cutoff generator for constant sequence. More...
class | Gecode::Search::CutoffLinear
| Cutoff generator for linear sequence. More...
class | Gecode::Search::CutoffLuby
| Cutoff generator for the Luby sequence. More...
class | Gecode::Search::CutoffGeometric
| Cutoff generator for the geometric sequence. More...
class | Gecode::Search::CutoffRandom
| Cutoff generator for the random sequence. More...
class | Gecode::Search::CutoffAppend
| Cutoff generator appending two cutoff generators. More...
class | Gecode::Search::CutoffMerge
| Cutoff generator merging two cutoff generators. More...
class | Gecode::Search::CutoffRepeat
| Cutoff generator that repeats a cutoff from another cutoff generator. More...
class | Gecode::Search::Options
| Search engine options More...
class | Gecode::Search::Stop
| Base-class for Stop-object. More...
class | Gecode::Search::NodeStop
| Stop-object based on number of nodes More...
class | Gecode::Search::FailStop
| Stop-object based on number of failures More...
class | Gecode::Search::TimeStop
| Stop-object based on time More...
class | Gecode::Search::Engine
| Search engine implementation interface More...
class | Gecode::Search::Base< T >
| Base-class for search engines. More...
class | Gecode::Search::Builder
| A class for building search engines. More...
class | Gecode::SEBs
| Passing search engine builder arguments. More...
class | Gecode::DFS< T >
| Depth-first search engine. More...
class | Gecode::BAB< T >
| Depth-first branch-and-bound search engine. More...
class | Gecode::LDS< T >
| Limited discrepancy search engine. More...
class | Gecode::RBS< T, E >
| Meta-engine performing restart-based search. More...
class | Gecode::PBS< T, E >
| Meta engine using a portfolio of search engines. More...

## Namespaces

namespace | Gecode
| Gecode toplevel namespace
namespace | Gecode::Search
| Search engines
namespace | Gecode::Search::Sequential
| Sequential search engine implementations
namespace | Gecode::Search::Parallel
| Parallel search engine implementations
namespace | Gecode::Search::Meta
| Meta search engine implementations
namespace | Gecode::Search::Meta::Sequential
| Sequential meta search engine implementations
namespace | Gecode::Search::Meta::Parallel
| Parallel meta search engine implementations
namespace | Gecode::Search::Config
| Search configuration
namespace | Gecode::CPProfiler
| Code that is specific to the CPProfiler.

## Macros

#define | GECODE_SEARCH_EXPORT
#define | GECODE_LIBRARY_NAME "Search"

## Typedefs

typedef Search::Builder * | Gecode::SEB
| Type for a search engine builder.

## Functions

template<class T, class E>
Engine * | Gecode::Search::build (Space *s, const Options &opt)
| Build an engine of type E for a script T.
template<class T, template< class > class E>
Engine * | Gecode::Search::build (Space *s, const Options &opt)
| Build a parametric engine of type E for a script T.
template<class T>
T * | Gecode::dfs (T *s, const Search::Options &o=Search::Options::def)
| Invoke depth-first search engine for subclass T of space s with options o.
template<class T>
SEB | Gecode::dfs (const Search::Options &o=Search::Options::def)
| Return a depth-first search engine builder.
template<class T>
T * | Gecode::bab (T *s, const Search::Options &o=Search::Options::def)
| Perform depth-first branch-and-bound search for subclass T of space s and options o.
template<class T>
SEB | Gecode::bab (const Search::Options &o=Search::Options::def)
| Return a depth-first branch-and-bound search engine builder.
template<class T>
T * | Gecode::lds (T *s, const Search::Options &o=Search::Options::def)
| Invoke limited-discrepancy search for s as root node and optionso.
template<class T>
SEB | Gecode::lds (const Search::Options &o=Search::Options::def)
| Return a limited discrepancy search engine builder.
template<class T, template< class > class E>
T * | Gecode::rbs (T *s, const Search::Options &o)
| Perform restart-based search.
template<class T, template< class > class E>
SEB | Gecode::rbs (const Search::Options &o)
| Return a restart search engine builder.
template<class T, template< class > class E>
Engine * | Gecode::Search::Meta::sequential (T *master, const Search::Statistics &stat, Options &opt)
| Build a sequential engine.
template<class T, template< class > class E>
Engine * | Gecode::Search::Meta::sequential (T *master, SEBs &sebs, const Search::Statistics &stat, Options &opt, bool best)
| Build a sequential engine.
template<class T, template< class > class E>
Engine * | Gecode::Search::Meta::parallel (T *master, const Search::Statistics &stat, Options &opt)
| Build a parallel engine.
template<class T, template< class > class E>
Engine * | Gecode::Search::Meta::parallel (T *master, SEBs &sebs, const Search::Statistics &stat, Options &opt, bool best)
| Build a parallel engine.
template<class T, template< class > class E>
T * | Gecode::pbs (T *s, const Search::Options &o=Search::Options::def)
| Run a portfolio of search engines.
template<class T>
SEB | Gecode::pbs (const Search::Options &o=Search::Options::def)
| Return a portfolio search engine builder.

## Variables

const bool | Gecode::Search::Config::clone = true
| Whether engines create a clone when being initialized.
const double | Gecode::Search::Config::threads = 1.0
| Number of threads to use.
const unsigned int | Gecode::Search::Config::c_d = 8
| Create a clone after every c_d commits (commit distance).
const unsigned int | Gecode::Search::Config::a_d = 2
| Create a clone during recomputation if distance is greater than a_d (adaptive distance).
const unsigned int | Gecode::Search::Config::steal_limit = 3
| Minimal number of open nodes for stealing.
const unsigned int | Gecode::Search::Config::initial_delay = 5
| Initial delay in milliseconds for all but first worker thread.
const unsigned int | Gecode::Search::Config::d_l = 5
| Default discrepancy limit for LDS.
const double | Gecode::Search::Config::base = 1.5
| Base for geometric restart sequence.
const unsigned int | Gecode::Search::Config::slice = 250
| Size of a slice in a portfolio and scale factor for restarts(in number of failures).
const unsigned int | Gecode::Search::Config::nogoods_limit = 128
| Depth limit for no-good generation during search.
const unsigned int | Gecode::Search::Config::cpprofiler_port = 6565U
| Default port for CPProfiler.

## Macro Definition Documentation

## GECODE_SEARCH_EXPORT

#define GECODE_SEARCH_EXPORT

Definition at line 67 of file search.hh.

## GECODE_LIBRARY_NAME

#define GECODE_LIBRARY_NAME "Search"

Definition at line 74 of file search.hh.