search.hh File Reference
(Revision: 15233)
#include <gecode/kernel.hh>
#include <gecode/support/auto-link.hpp>
#include <gecode/search/exception.hpp>
#include <gecode/search/statistics.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::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 | |
Defines | |
#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 > | |
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. |