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. | |
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. | |
| const unsigned int | Gecode::Search::Config::cpprofiler_port = 6565U |
| Default port for CPProfiler. | |
