Generated on Tue May 22 09:40:33 2018 for Gecode by doxygen 1.6.3

search.hh File Reference

#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.

Define Documentation

#define GECODE_SEARCH_EXPORT

Definition at line 65 of file search.hh.

#define GECODE_LIBRARY_NAME   "Search"

Definition at line 72 of file search.hh.